3 // Copyright (c) 2006-2007 Matias Capeletto
5 // Distributed under the Boost Software License, Version 1.0.
6 // (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
9 /// \file relation/pair_layout.hpp
10 /// \brief Tags for pair layouts
12 #ifndef BOOST_BIMAP_RELATION_PAIR_LAYOUT_HPP
13 #define BOOST_BIMAP_RELATION_PAIR_LAYOUT_HPP
15 #if defined(_MSC_VER) && (_MSC_VER>=1200)
19 #include <boost/config.hpp>
27 /// \brief Tag for normal layout. ( A,B -> A,B )
29 struct normal_layout
{};
31 /// \brief Tag for mirror layout. ( A,B -> B,A )
33 struct mirror_layout
{};
37 /** \struct boost::bimaps::relation::inverse_layout
38 \brief Metafunction to obtain the inverse of a layout.
41 template< class Layout >
44 typedef {InverseLayout} type;
48 See also normal_layout, mirror_layout.
51 #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
53 template< class Layout
>
56 typedef normal_layout type
;
60 struct inverse_layout
< normal_layout
>
62 typedef mirror_layout type
;
65 #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
67 } // namespace relation
71 #endif // BOOST_BIMAP_RELATION_DETAIL_PAIR_LAYOUT_HPP