boost::mpl::_1 boost::mpl::_2 ; , . ( , n-arity, , (nm) -), - ( " " , ) ..
, , , , -, , , .
, typedef
typedef boost::flyweights::hashed_factory_class<
boost::mpl::_1,
boost::mpl::_2,
boost::hash<boost::mpl::_2>,
std::equal_to<boost::mpl::_2>,
std::allocator<boost::mpl::_1>
> hashed_factory;
, hashed_factory :
typedef typename
boost::mpl::apply<
hashed_factory,
X,
Y
>::type result;
Flyweight code, , _1 _2 ( ). , std::string, .
, MPL , MPL, , - .