123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- #ifndef BOOST_BIMAP_RELATION_SUPPORT_GET_HPP
- #define BOOST_BIMAP_RELATION_SUPPORT_GET_HPP
- #if defined(_MSC_VER)
- #pragma once
- #endif
- #include <boost/config.hpp>
- #include <boost/bimap/relation/support/value_type_of.hpp>
- #include <boost/bimap/relation/detail/access_builder.hpp>
- #include <boost/mpl/if.hpp>
- #include <boost/type_traits/is_same.hpp>
- #include <boost/type_traits/is_const.hpp>
- #ifdef BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES
- namespace boost {
- namespace bimaps {
- namespace relation {
- namespace support {
- template< class Tag, class SymmetricType >
- BOOST_DEDUCED_TYPENAME result_of::get<Tag,SymmetricType>::type
- get( SymmetricType & );
- }
- }
- }
- }
- #endif
- #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
- namespace boost {
- namespace bimaps {
- namespace relation {
- namespace support {
- BOOST_BIMAP_SYMMETRIC_ACCESS_RESULT_OF_BUILDER
- (
- get,
- value_type_of
- )
- BOOST_BIMAP_SYMMETRIC_ACCESS_IMPLEMENTATION_BUILDER
- (
- get,
- SymmetricType,
- st,
- return st.get_left(),
- return st.get_right()
- )
- namespace detail {
- template< class SymmetricType >
- BOOST_DEDUCED_TYPENAME result_of::get<
- ::boost::bimaps::relation::member_at::info, SymmetricType >::type
- get(::boost::bimaps::relation::member_at::info, SymmetricType & rel)
- {
- return rel.info;
- }
- }
- BOOST_BIMAP_SYMMETRIC_ACCESS_INTERFACE_BUILDER
- (
- get
- )
- }
- }
- }
- }
- #endif
- #endif
|