00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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 }
00057 }
00058
00059 #endif // ! VCSN_AUTOMATA_IMPLEMENTATION_BMIG_INITIAL_CONTAINER_HH_
00060