Apinotes and C++ overloads

Hi there, I'm trying to annotate a 3rd party API with apinotes.

I'm having trouble differentiating (in the apinotes file) between e.g. void fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255); (setter) and fill(uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a = nullptr) (getter). Does anyone know how to do this?

Regardless of what anyone thinks of the original API design, is there a way to differentiate between these via apinotes such that I can name one getFill(r:g:b:a:) and the other setFill(r:g:b:a:)? I'm guessing the answer is no, but it'd be nice to hear from someone with more experience writing these than I have now.

Namespaces:
- Name: namespace
  Tags:
  - Name: Paint
    Methods:
    - Name: fill # ???
      SwiftName: setFill(r:g:b:a:)
    - Name: fill # ???
      SwiftName: getFill(r:g:b:a:)

Unfortunately there is currently no way to differentiate between overloads with the same name in API Notes.

I'd recommend writing a couple of Swift functions that wrap around the original C++ function.

Can you elaborate on the suggestion? The reason I need apinotes here is because I can‘t call the C++ functions from Swift due to Swift thinking I want an overload of the function that I’m not calling. Specifically, these functions often differ by one taking pointers to floats/ints (getter) whereas the other takes just floats/ints (setter) – Swift simply won't "see" the non-pointer option.