/// /// \file hashConduitGroup.h /// \author Jan Chrin, PSI /// \date Release: February 2015 /// \version CAFE 1.0.0 /// #ifndef HASHCONDUIT_GROUP_H #define HASHCONDUIT_GROUP_H #include // boost include #include #include #include #include #include using boost::multi_index_container; // namespace multi-indexing of reference handles to CAFEConduit objects using namespace boost::multi_index; struct by_groupHandle {}; struct by_groupID {}; struct by_groupName {}; typedef multi_index_container< ConduitGroup, indexed_by< ordered_unique< tag, BOOST_MULTI_INDEX_MEMBER(ConduitGroup, unsigned int, groupHandle)>, ordered_non_unique< tag, BOOST_MULTI_INDEX_MEMBER(ConduitGroup, CA_SYNC_GID, groupID)>, ordered_non_unique< tag, BOOST_MULTI_INDEX_MEMBER(ConduitGroup, std::string, groupName)>, hashed_unique > > > cafeGroup_set; typedef cafeGroup_set::index::type cafeGroup_set_by_groupID; typedef cafeGroup_set::index::type cafeGroup_set_by_groupHandle; typedef cafeGroup_set::index::type cafeGroup_set_by_groupName; #endif