fix doc example typo
[boost.git] / boost / bimap / relation / pair_layout.hpp
blob24368db10586314f44a95621a23d2879e63d77c6
1 // Boost.Bimap
2 //
3 // Copyright (c) 2006-2007 Matias Capeletto
4 //
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)
16 #pragma once
17 #endif
19 #include <boost/config.hpp>
21 namespace boost {
22 namespace bimaps {
23 namespace relation {
25 //@{
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 {};
35 //@}
37 /** \struct boost::bimaps::relation::inverse_layout
38 \brief Metafunction to obtain the inverse of a layout.
40 \code
41 template< class Layout >
42 struct inverse_layout
44 typedef {InverseLayout} type;
46 \endcode
48 See also normal_layout, mirror_layout.
49 **/
51 #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES
53 template< class Layout >
54 struct inverse_layout
56 typedef normal_layout type;
59 template<>
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
68 } // namespace bimaps
69 } // namespace boost
71 #endif // BOOST_BIMAP_RELATION_DETAIL_PAIR_LAYOUT_HPP