GCC Middle and Back End API Reference
list_head< T > Class Template Reference
Inheritance diagram for list_head< T >:

Data Structures

class  range

Public Member Functions

 list_head ()
range release ()
void push_back (range)
range remove (range)
void replace (range, range)
Tsingleton () const

Data Fields

Tfirst
Tlast

Detailed Description

template<typename T>
class list_head< T >
Simple list structure for items of type T, for use when being part of a list is an inherent property of T. T must have members equivalent to "T *prev, *next;" and a function "void set_parent (list_head <T> *)" to set the parent list.

Constructor & Destructor Documentation

◆ list_head()

template<typename T>
list_head< T >::list_head ( )

References first, and last.

Member Function Documentation

◆ push_back()

template<typename T>
void list_head< T >::push_back ( range r)
Add R to the end of the list.

References first, last, and r.

Referenced by add_decision(), insert_decision_before(), merge_into_decision(), merge_into_state_1(), and populate_pattern_routine().

◆ release()

template<typename T>
list_head< T >::range list_head< T >::release ( )
Empty the list and return the previous contents as a range that can be inserted into other lists.

References first, last, and r.

Referenced by collapse_optional_decisions(), cse_tests(), merge_into_state_1(), and simplify_tests().

◆ remove()

template<typename T>
list_head< T >::range list_head< T >::remove ( range r)
Remove R from the list. R remains valid and can be inserted into other lists.

References first, last, and r.

◆ replace()

template<typename T>
void list_head< T >::replace ( range oldr,
range newr )
Replace OLDR with NEWR. OLDR remains valid and can be inserted into other lists.

References first, and last.

Referenced by cse_tests(), and merge_into_decision().

◆ singleton()

template<typename T>
T * list_head< T >::singleton ( ) const

Field Documentation

◆ first

◆ last

template<typename T>
T * list_head< T >::last

The documentation for this class was generated from the following file: