/// /// \file hashConduit.h /// \author Jan Chrin, PSI /// \date Release: February 2015 /// \version CAFE 1.0.0 #ifndef HASHCONDUIT_H #define HASHCONDUIT_H #include #include // boost include #include #include #include #include #include using boost::multi_index_container; using namespace boost::multi_index; struct by_handle {}; struct by_channelID {}; struct by_pv {}; struct by_pvAlias {}; typedef multi_index_container< Conduit, indexed_by< ordered_unique< tag, BOOST_MULTI_INDEX_MEMBER(Conduit, unsigned int, handle)>, ordered_non_unique< tag, BOOST_MULTI_INDEX_MEMBER(Conduit, chid, channelID)>, ordered_non_unique< tag, BOOST_MULTI_INDEX_MEMBER(Conduit, std::string, pv)>, ordered_non_unique< tag, BOOST_MULTI_INDEX_MEMBER(Conduit, std::string, pvAlias)>, //ordered_non_unique< //tag, BOOST_MULTI_INDEX_MEMBER(Conduit, unsigned int, uniqueID)>, hashed_unique > > > cafeConduit_set; typedef cafeConduit_set::index::type cafeConduit_set_by_channelID; typedef cafeConduit_set::index::type cafeConduit_set_by_handle; typedef cafeConduit_set::index::type cafeConduit_set_by_pv; typedef cafeConduit_set::index::type cafeConduit_set_by_pvAlias; #endif // HASHCONDUIT_H