17 #ifndef VCSN_AUTOMATA_IMPLEMENTATION_TRANSPOSE_VIEW_HH
18 # define VCSN_AUTOMATA_IMPLEMENTATION_TRANSPOSE_VIEW_HH
20 # include <vaucanson/automata/implementation/automaton_view.hh>
49 typedef undefined_type type;
52 template <
class S,
class T>
65 template <
class S,
class T>
66 Element<S, TransposeView<T> >
69 template <
class S,
class T>
70 const Element<S, TransposeView<T> >
78 typedef typename automaton_traits<T>::label_t label_t;
79 typedef typename automaton_traits<T>::series_set_elt_value_t
80 series_set_elt_value_t;
81 typedef typename automaton_traits<T>::word_value_t word_value_t;
82 typedef typename automaton_traits<T>::semiring_elt_value_t
84 typedef typename automaton_traits<T>::letter_t letter_t;
85 typedef typename automaton_traits<T>::tag_t tag_t;
86 typedef typename automaton_traits<T>::states_t states_t;
88 typedef typename automaton_traits<T>::state_iterator
90 typedef typename automaton_traits<T>::transitions_t transitions_t;
92 typedef typename automaton_traits<T>::transition_iterator transition_iterator;
93 typedef typename automaton_traits<T>::initial_t initial_t;
94 typedef typename automaton_traits<T>::initial_iterator
96 typedef typename automaton_traits<T>::initial_support_t
98 typedef typename automaton_traits<T>::final_t final_t;
99 typedef typename automaton_traits<T>::final_iterator
101 typedef typename automaton_traits<T>::final_support_t
103 typedef typename automaton_traits<T>::geometry_t geometry_t;
104 typedef typename automaton_traits<T>::geometry_t::coords_t geometry_coords_t;
107 typedef typename automaton_traits<T>::hstate_t hstate_t;
108 typedef typename automaton_traits<T>::htransition_t htransition_t;
110 typedef typename automaton_traits<T>::rdelta_iterator delta_iterator;
111 typedef typename automaton_traits<T>::delta_iterator rdelta_iterator;
114 #define AutoType(Type) \
115 typename Element<S, TransposeView<T> >::Type
119 template <
class S,
class T>
120 typename automaton_traits<TransposeView<T> >::initial_support_t
123 template <
class S,
class T>
124 typename automaton_traits<TransposeView<T> >::final_support_t
127 template <
class S,
class T>
130 const typename automaton_traits<T>::hstate_t& state,
131 const AutoType(series_set_elt_t)& s);
133 template <
class S,
class T>
134 AutoType(series_set_elt_t)
137 const typename automaton_traits<T>::hstate_t&);
139 template <class S, class T>
142 const typename automaton_traits<T>::hstate_t& state,
143 const typename
Element<S, T>::series_set_elt_t& s);
145 template <class S, class T>
146 typename
Element<S, T>::series_set_elt_t
149 const typename automaton_traits<T>::hstate_t& state);
151 template <class S, class T>
155 template <class S, class T>
159 template <class S, class T>
160 typename automaton_traits<T>::hstate_t
162 const typename automaton_traits<T>::htransition_t&);
164 template <class S, class T>
165 typename automaton_traits<T>::hstate_t
167 const typename automaton_traits<T>::htransition_t&);
176 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
177 # include <vaucanson/automata/implementation/transpose_view.hxx>
178 #endif // VCSN_USE_INTERFACE_ONLY
181 #endif // ! VCSN_AUTOMATA_IMPLEMENTATION_TRANSPOSE_VIEW_HH