// file: libhello/hello.hxx -*- 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 call via the old signature of // say() is still valid) it is not ABI/binary-compatible (say() now has an // extra argument and is inline). // // Notice also that inline say() now uses a type and calls a function from // 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, format::volume v = format::volume::normal) { say_formatted (format::message ("Hello", name, v)); } }