initial_container.hh

00001 // initial_container.hh: this file is part of the Vaucanson project.
00002 //
00003 // Vaucanson, a generic library for finite state machines.
00004 //
00005 // Copyright (C) 2007, 2008 The Vaucanson Group.
00006 //
00007 // This program is free software; you can redistribute it and/or
00008 // modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 2
00010 // of the License, or (at your option) any later version.
00011 //
00012 // The complete GNU General Public Licence Notice can be found as the
00013 // `COPYING' file in the root directory.
00014 //
00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
00016 //
00017 
00018 #ifndef VCSN_AUTOMATA_IMPLEMENTATION_BMIG_INITIAL_CONTAINER_HH_
00019 # define VCSN_AUTOMATA_IMPLEMENTATION_BMIG_INITIAL_CONTAINER_HH_
00020 
00021 # include <boost/multi_index_container.hpp>
00022 # include <boost/multi_index/member.hpp>
00023 # include <boost/multi_index/ordered_index.hpp>
00024 # include <boost/multi_index/hashed_index.hpp>
00025 # include <boost/functional/hash/hash.hpp>
00026 # include <boost/multi_index/sequenced_index.hpp>
00027 # include <boost/tuple/tuple.hpp>
00028 # include <boost/multi_index/composite_key.hpp>
00029 
00030 namespace vcsn
00031 {
00032   namespace bmig
00033   {
00034 
00040     template <typename U, typename HState>
00041     struct InitialContainer
00042     {
00043 
00044       typedef boost::multi_index_container
00045         <
00046         U,
00047       boost::multi_index::indexed_by
00048         <
00049         boost::multi_index::ordered_non_unique<
00050         BOOST_MULTI_INDEX_MEMBER(U, HState, first)
00051         >
00052         >
00053         > Type;
00054     };
00055 
00056   } //bmig
00057 } //vcsn
00058 
00059 #endif // ! VCSN_AUTOMATA_IMPLEMENTATION_BMIG_INITIAL_CONTAINER_HH_
00060 

Generated on Thu Oct 9 20:22:35 2008 for Vaucanson by  doxygen 1.5.1