29 #define English_dox "Doxygen English documentation"
35 #define Spanish_dox "Documentaci¢n Doxygen en espa¤ol"
64 std::vector< TL::Tree<E> >
m_S;
81 push_left_descendants( T );
93 while ( ! D.
Empty() ) {
100 template <
typename E>
102 return ( ! m_S.empty() );
106 template <
typename C>
107 inline void printC(
const C& L ) {
108 typename C::const_reverse_iterator it;
109 std::cout <<
'[' << L.size() <<
"] ";
110 for ( it = L.rbegin() ; it != L.rend() ; ++it ) {
111 std::cout << **it <<
' ';
113 std::cout << std::endl;
118 template <
typename E>
127 if( ! Child.
Empty() ) {
130 if ( Left.
Empty() ) {
132 m_S.push_back( Child );
133 if ( ! Child.
Child(0).Empty() ) {
134 push_left_descendants( Child );
139 else if ( Stop.
Same( Left ) ) {
140 m_S.push_back( Child );
141 push_left_descendants( Child );
145 m_S.push_back( Child );
146 if ( ! Child.
Child(0).Empty() ) {
147 push_left_descendants( Child );
Iterador Izquierda-Proceso-Derecha.
void push_left_descendants(const TL::Tree< E > &T)
Empuje cada descendiente Child(0) [izquierdo] de T en la pila.
const TL::Tree< E > next()
Iterator::next().
bool Same(const Tree &o) const
Retorna true si "o" comparte la raíz con "*this".
void set(const TL::Tree< E > &T)
Iterator::set().
std::vector< TL::Tree< E > > m_S
std::stack<>.
Tree Leftmost() const
Obtiene el hijo más izquierdo del árbol.
Declaraciones y definiciones para la clase Tree.
bool Empty() const
Retorna "true" si el sub-árbol está vacío.
Tree Left_Sibling() const
Obtiene el hermano no vacío anterior, que está hacia la izquierda.
Los métodos para trabajar con árboles regresan "referencias" que son sub-árboles. ...
Tree Rightmost() const
Obtiene el hijo más derecho del árbol.
bool hasNext() const
Iterator::hasNext().
Tree Child(unsigned n) const
Acceso al "n"-ésimo hijo.