00001 #ifndef STATIC_CONTAINER_LIST_NODE_H 00002 00003 #define STATIC_CONTAINER_LIST_NODE_H 00004 00005 namespace static_container { 00007 00012 struct list_link { 00013 list_link* next; 00014 list_link* prev; 00015 00016 void isolate() { 00017 if ( 0 != next ) { 00018 next->prev = prev; 00019 } 00020 if ( 0 != prev ) { 00021 prev->next = next; 00022 } 00023 next = 0; 00024 prev = 0; 00025 } 00026 }; 00027 00029 template < typename Value > 00030 struct list_node : public list_link { 00031 Value value; 00032 }; 00033 } 00034 00035 #endif