21         template <
typename ExpansionSet>
 
   27         template <
typename ExpansionSet>
 
   35       template <
typename ExpansionSet>
 
   73     using expansion = std::shared_ptr<const detail::expansion_base>;
 
   75     template <
typename ExpansionSet>
 
   79                    const typename ExpansionSet::value_t& 
expansion)
 
   82       return std::make_shared<wrapper_t>(ps, 
expansion);
 
const expansionset_t & expansionset() const 
virtual ~expansion_wrapper()
const expansion_t expansion_
The expansion. 
std::shared_ptr< const detail::expansion_base > expansion
To dyn_cast(From &&from)
A dynamic_cast in debug mode, static_cast with NDEBUG. 
typename expansionset_t::value_t expansion_t
virtual symbol vname() const  =0
A description of the expansion. 
ExpansionSet expansionset_t
boost::flyweight< std::string, boost::flyweights::no_tracking, boost::flyweights::intermodule_holder > symbol
An internalized string. 
expansion_wrapper(const expansionset_t &expansionset, const expansion_t &expansion)
virtual symbol vname() const  override
A description of the expansion. 
const expansionset_t expansionset_
The expansion set. 
const expansion_t expansion() const 
expansion make_expansion(const ExpansionSet &ps, const typename ExpansionSet::value_t &expansion)
Aggregate an expansion and its expansionset.