00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_TRANSPOSE_HXX
00018 # define VCSN_ALGORITHMS_TRANSPOSE_HXX
00019
00020 #include <vaucanson/algorithms/transpose.hh>
00021 #include <vaucanson/automata/implementation/transpose_view.hh>
00022 #include <vaucanson/automata/concept/copy.hh>
00023
00024 namespace vcsn
00025 {
00026 template<typename lhs_t, typename rhs_t>
00027 void transpose(lhs_t& dst_,
00028 const rhs_t& from)
00029 {
00030 auto_copy(dst_, transpose_view(from));
00031 }
00032
00033 template<typename auto_t>
00034 auto_t transpose(const auto_t& from)
00035 {
00036 auto_t dst(from.structure());
00037 transpose(dst, from);
00038 return dst;
00039 }
00040
00041 }
00042
00043 #endif // ! VCSN_ALGORITHMS_TRANSPOSE_HXX