OpenCyphal-Garage / libcyphal

Portable reference implementation of the Cyphal protocol stack in C++ for embedded systems and Linux.
http://opencyphal.org
MIT License
299 stars 501 forks source link

Only one concrete base type per class #353

Closed pavel-kirienko closed 5 months ago

pavel-kirienko commented 7 months ago

It's important we adhere to the "only one concrete base type per class" rule. That is, no type shall extend more than a single class that has non-pure-virtual methods or data-members. That means there isn't a "sorta an interface" type in this stack. We only have classes and interfaces and the latter has no data members and only pure-virtual methods.

_Originally posted by @thirtytwobits in https://github.com/OpenCyphal-Garage/libcyphal/pull/347#discussion_r1575062663_

serges147 commented 5 months ago

@pavel-kirienko I think this issue has been addressed. Would you agree?