Overloads should help. 
    
    
    type
      Vector* = ref VectorObj
      VectorObj{.importc.} = object
    
    proc add*(v1, v2: Vector) {.importcpp.}
    proc add*(v1: Vector, v2: array[3, float]) {.importcpp.}
    proc add*(v1: Vector, x, y, z: float) {.importcpp.}
    # ... etc
    

Reply via email to