/usr/include/boost/bimap/relation/support
NameSizeModeActions
data_extractor.hpp27130644editdlrm
get.hpp33960644editdlrm
get_pair_functor.hpp20150644editdlrm
is_tag_of_member_at.hpp40530644editdlrm
member_with_tag.hpp38520644editdlrm
opposite_tag.hpp13080644editdlrm
pair_by.hpp30420644editdlrm
pair_type_by.hpp13450644editdlrm
value_type_of.hpp18530644editdlrm
Edit: /usr/include/boost/bimap/relation/support/get.hpp (3396B)
// Boost.Bimap // // Copyright (c) 2006-2007 Matias Capeletto // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) /// \file relation/support/get.hpp /// \brief get(r) function #ifndef BOOST_BIMAP_RELATION_SUPPORT_GET_HPP #define BOOST_BIMAP_RELATION_SUPPORT_GET_HPP #if defined(_MSC_VER) #pragma once #endif #include #include #include #include #include #include #ifdef BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES namespace boost { namespace bimaps { namespace relation { namespace support { /** \brief Gets a pair view of the relation. \ingroup relation_group **/ template< class Tag, class SymmetricType > BOOST_DEDUCED_TYPENAME result_of::get::type get( SymmetricType & ); } // namespace support } // namespace relation } // namespace bimaps } // namespace boost #endif // BOOST_BIMAP_ONLY_DOXYGEN_WILL_PROCESS_THE_FOLLOWING_LINES #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES namespace boost { namespace bimaps { namespace relation { namespace support { // Since it is very error-prone to directly write the hole bunch // of relation accesor. They are built from little macro blocks that // are both more readable, leading to self docummenting code and a // lot more easier to understand and maintain. // It is very important to note that the three building blocks have // to laid in the same namespace in order to work. There is also // important to keep them in order. // The forward declaration are not necessary but they help a lot to // the reader, as they undercover what is the signature of the // result code. // In the end, it is not quicker to do it in this way because you // write a lot. But this code has no complexity at all and almost // every word writed is for documentation. // Result of // ------------------------------------------------------------------------- /* namespace result_of { template< class Tag, class Relation > struct get; { typedef -unspecified- type; }; } // namespace result_of */ BOOST_BIMAP_SYMMETRIC_ACCESS_RESULT_OF_BUILDER ( get, value_type_of ) // Implementation // ------------------------------------------------------------------------- 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; } } // namespace detail // Interface //---------------------------------------------------------------------------- BOOST_BIMAP_SYMMETRIC_ACCESS_INTERFACE_BUILDER ( get ) } // namespace support } // namespace relation } // namespace bimaps } // namespace boost #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES #endif // BOOST_BIMAP_RELATION_SUPPORT_GET_HPP