...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
BOOST_CONTRACT_BASES_TYPEDEF — Define the name of the base type typedef
(base_types
by default).
// In header: <boost/contract/core/config.hpp>
BOOST_CONTRACT_BASES_TYPEDEF
This macro expands to the name of the typedef
that lists the base classes for subcontracting via BOOST_CONTRACT_BASE_TYPES
:
class u #define BASES public b, private w : BASES { friend class boost::contract:access; typedef BOOST_CONTRACT_BASE_TYPES(BASES) BOOST_CONTRACT_TYPEDEF; #undef BASES ... };
When used this way, users can redefine this macro if the typedef
must have a name different from base_types
(because of name clashes in user code, etc.).
See Also: