17 #ifndef VCSN_MISC_SUPPORT_HH 
   18 # define VCSN_MISC_SUPPORT_HH 
   31 # include <vaucanson/automata/concept/handlers.hh> 
   50         typedef typename C::key_type            key_type;
 
   51         typedef typename C::const_iterator      map_iterator;
 
   54         typedef typename map_iterator::iterator_category iterator_category;
 
   55         typedef typename map_iterator::difference_type   difference_type;
 
   56         typedef key_type                                 value_type;
 
   57         typedef key_type*                                pointer;
 
   58         typedef key_type&                                reference;
 
   87         key_type operator* () 
const;
 
  101         typedef std::set<U>                             container_t;
 
  103         typedef typename container_t::const_iterator    iterator;
 
  106         typedef typename iterator::iterator_category    iterator_category;
 
  107         typedef typename iterator::difference_type      difference_type;
 
  108         typedef value_t                                 value_type;
 
  109         typedef value_t*                                pointer;
 
  110         typedef value_t&                                reference;
 
  137         SupportIterator (iterator);
 
  139         value_t operator* () 
const;
 
  140         self_t&  operator++ ();
 
  141         self_t   operator++ (
int);
 
  142         bool     operator!= (
const SupportIterator&) 
const;
 
  143         bool     operator== (
const SupportIterator&) 
const;
 
  150     template <
class U, 
class T>
 
  151     class Support<std::map<U, T> >
 
  159         Support (
const std::map<U, T>&);
 
  160         Support (
const Support&);
 
  164         unsigned size () 
const;
 
  174         const std::map<U, T>&   m_;
 
  179     class Support<std::set<U> >
 
  187         Support (
const std::set<U>&);
 
  188         Support (
const Support&);
 
  190         iterator begin () 
const;
 
  191         iterator end () 
const;
 
  192         unsigned size () 
const;
 
  195         iterator find (
const U& k) 
const;
 
  202         const std::set<U>&      m_;
 
  210 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB 
  211 #  include <vaucanson/misc/support.hxx> 
  212 # endif // VCSN_USE_INTERFACE_ONLY 
  215 #endif // ! VCSN_MISC_SUPPORT_HH