Netlib is almost entirely written in C. There are many reasons why netlib
is C based rather than C++ and rather than go into them, just shift gears
when considering netlib code; from C++ thinking, to C thinking. Although
many of the structs in netlib can be considered objects given an abstraction
of their attributes and function pointers, the overall architecture is
C based. If you're of an Object Oriented Programming state of mind, you
may have to look a little closer to discover how netlib can be considered
"objectively;" it can.
Here are some logical and sequence diagrams by Thierry Bezecourt that illustrate some of netlib's core functionality.