// file: hello/hello -*- C++ -*- #pragma once #include #include #include namespace hello { // If you compare this interface to version 1.0, then you will notice that // while it is API/source-compatible (the signature of say() is unchanged) // it is not ABI/binary-compatible (say() is now inline). // // Notice also that inline say() calls format() which means libformat is an // interface dependency of libhello. LIBHELLO_EXPORT void say_formatted (const std::string& message); inline void say (const std::string& name) { say_formatted (format ("Hello", name)); } }