...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
BOOST_DLL_AUTO_ALIAS — Exports variable or function with unmangled alias name.
// In header: <boost/dll/alias.hpp>
BOOST_DLL_AUTO_ALIAS(FunctionOrVar)
This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::sting)` function name will change to something like `N5boostN3foosE` after mangling. Importing function by `N5boostN3foosE` name does not looks user friendly, especially assuming the fact that different compilers have different mangling schemes.*
Must be used in scope where FunctionOrVar declared. FunctionOrVar must be a valid C name, which means that it must not contain `::`.
Functions or variables in global namespace must not have names same as FunctionOrVar.
Puts all the aliases into the "boostdll" read only section of the binary. Almost same as BOOST_DLL_ALIAS(FunctionOrVar, FunctionOrVar).
Example:
namespace foo { void bar(std::string&); BOOST_DLL_AUTO_ALIAS(bar) }
See: BOOST_DLL_ALIAS for making an alias with different names.
Parameters: |
|