17 #ifndef VCSN_AUTOMATA_IMPLEMENTATION_GEOMETRY_HH
18 # define VCSN_AUTOMATA_IMPLEMENTATION_GEOMETRY_HH
22 # include <vaucanson/automata/concept/handlers.hh>
35 template<
typename HState,
typename HTransition,
typename Coords>
38 typedef HState hstate_t;
39 typedef HTransition htransition_t;
40 typedef Coords coords_t;
43 typedef std::map<hstate_t, coords_t>
44 states_geometry_map_t;
47 typedef std::map<htransition_t, coords_t>
48 transitions_geometry_map_t;
51 typedef std::map<hstate_t, coords_t>
52 initials_geometry_map_t;
55 typedef std::map<hstate_t, coords_t>
56 finals_geometry_map_t;
68 states_geometry_map_t&
states();
69 const states_geometry_map_t&
states()
const;
76 const transitions_geometry_map_t&
transitions()
const;
83 const initials_geometry_map_t&
initials()
const;
89 finals_geometry_map_t&
finals();
90 const finals_geometry_map_t&
finals()
const;
97 const std::string&
name()
const;
101 mutable states_geometry_map_t* states_;
102 mutable transitions_geometry_map_t* transitions_;
103 mutable initials_geometry_map_t* initials_;
104 mutable finals_geometry_map_t* finals_;
105 mutable std::string* name_;
112 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
113 # include <vaucanson/automata/implementation/geometry.hxx>
114 # endif // VCSN_USE_INTERFACE_ONLY
116 #endif // ! VCSN_AUTOMATA_IMPLEMENTATION_GEOMETRY_HH