• Kirill Smelkov's avatar
    libgolang: Start providing interfaces · 5a99b769
    Kirill Smelkov authored
    - interface is analog of interface{} in Go.
    - error is analog of error in Go.
    
    For now the interfaces are implemented via classic C++ scheme via
    inheritance and additional vtable field in pointed object.
    
    In the future we might want to consider reworking that to Go-style
    interfaces without predeclaring which interfaces a class implements.
    
    Top-level documentation is TODO.
    
    Interfaces will be soon needed to describe Context interface in C
    context package.
    5a99b769
libgolang.cpp 35.7 KB