I intend to use the boost intrusive list to implement an observer pattern. - The list will cross interrupt boundaries; meaning one interrupt will produce the notifications and the other interrupt will observer the notifications. - The observer, in response to a notification, might detach itself from the list using the the hook's unlink() function. - I think that I will need the hook to be declared volatile in order to accommodate this. I have a minimal code sample here: https://github.com/natersoz/patterns/blob/master/observer/intrusive_list_mem... My list hook member declaration: using list_hook_type = boost::intrusive::list_member_hook< boost::intrusive::link_modeboost::intrusive::auto_unlink >; list_hook_type hook; My list declaration: using list_type = boost::intrusive::list< Observer<NotificationType>, boost::intrusive::constant_time_size<false>, boost::intrusive::member_hook< Observer<NotificationType>, typename Observer<NotificationType>::list_hook_type, &Observer<NotificationType>::hook> >; If I a the volatile keyword to the list hood type, I cannot figure out how to get the list_type declaration to fit into the list template list. Is it possible? Thank you. -- Nat Ersoz 425-417-5182 (cell)