#include <boost/intrusive/detail/config_begin.hpp>
#include <boost/intrusive/detail/config_end.hpp>
 | 
| struct   | boost::intrusive::do_pack< Prev, Next > | 
|   | 
| struct   | boost::intrusive::do_pack< Prev, void > | 
|   | 
| struct   | boost::intrusive::pack_options< DefaultOptions, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11 > | 
|   | 
      
        
          | #define BOOST_INTRUSIVE_OPTION_CONSTANT | 
          ( | 
            | 
          OPTION_NAME,  | 
        
        
           | 
           | 
            | 
          TYPE,  | 
        
        
           | 
           | 
            | 
          VALUE,  | 
        
        
           | 
           | 
            | 
          CONSTANT_NAME  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:template< TYPE VALUE> \
struct OPTION_NAME \
{ \
   template<class Base> \
   struct pack : Base \
   { \
      static const TYPE CONSTANT_NAME = VALUE; \
   }; \
}; \
 
 
 
      
        
          | #define BOOST_INTRUSIVE_OPTION_TYPE | 
          ( | 
            | 
          OPTION_NAME,  | 
        
        
           | 
           | 
            | 
          TYPE,  | 
        
        
           | 
           | 
            | 
          TYPEDEF_EXPR,  | 
        
        
           | 
           | 
            | 
          TYPEDEF_NAME  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:template< class TYPE> \
struct OPTION_NAME \
{ \
   template<class Base> \
   struct pack : Base \
   { \
      typedef TYPEDEF_EXPR TYPEDEF_NAME; \
   }; \
}; \
 
defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)