Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType > Class Template Reference

Storage definition of the right view of a mutant relation. More...

#include <structured_pair.hpp>

Inheritance diagram for boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >:
Collaboration diagram for boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >:

Public Types

typedef mirror_storage storage_
 
typedef BOOST_DEDUCED_TYPENAME
base_::left_value_type 
second_type
 
typedef BOOST_DEDUCED_TYPENAME
base_::right_value_type 
first_type
 
typedef BOOST_DEDUCED_TYPENAME
tags::support::default_tagged
< SecondType, member_at::left >
::type 
tagged_left_type
 
typedef BOOST_DEDUCED_TYPENAME
tags::support::default_tagged
< FirstType, member_at::right >
::type 
tagged_right_type
 
typedef
BOOST_DEDUCED_TYPENAME::boost::mpl::if_c
< force_mutable,
BOOST_DEDUCED_TYPENAME::boost::remove_const
< BOOST_DEDUCED_TYPENAME
tagged_left_type::value_type >
::type, BOOST_DEDUCED_TYPENAME
tagged_left_type::value_type >
::type 
left_value_type
 The type stored in the relation. More...
 
typedef
BOOST_DEDUCED_TYPENAME::boost::mpl::if_c
< force_mutable,
BOOST_DEDUCED_TYPENAME::boost::remove_const
< BOOST_DEDUCED_TYPENAME
tagged_right_type::value_type >
::type, BOOST_DEDUCED_TYPENAME
tagged_right_type::value_type >
::type 
right_value_type
 The type stored in the relation. More...
 
typedef BOOST_DEDUCED_TYPENAME
tagged_left_type::tag 
left_tag
 The tag of the member. By default it is member_at::{side}. More...
 
typedef BOOST_DEDUCED_TYPENAME
tagged_right_type::tag 
right_tag
 The tag of the member. By default it is member_at::{side}. More...
 

Public Member Functions

 mirror_storage ()
 
 mirror_storage (BOOST_DEDUCED_TYPENAME::boost::call_traits< first_type >::param_type f, BOOST_DEDUCED_TYPENAME::boost::call_traits< second_type >::param_type s)
 
BOOST_DEDUCED_TYPENAME
base_::left_value_type
get_left ()
 
const BOOST_DEDUCED_TYPENAME
base_::left_value_type
get_left () const
 
BOOST_DEDUCED_TYPENAME
base_::right_value_type
get_right ()
 
const BOOST_DEDUCED_TYPENAME
base_::right_value_type
get_right () const
 

Public Attributes

second_type second
 
first_type first
 

Detailed Description

template<class FirstType, class SecondType>
class boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >

Storage definition of the right view of a mutant relation.

See also storage_finder, normal_storage.

Member Typedef Documentation

template<class FirstType , class SecondType >
typedef BOOST_DEDUCED_TYPENAME base_::right_value_type boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::first_type
typedef BOOST_DEDUCED_TYPENAME tagged_left_type ::tag boost::bimaps::relation::symmetrical_base< SecondType , FirstType , force_mutable >::left_tag
inherited

The tag of the member. By default it is member_at::{side}.

typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c< force_mutable, BOOST_DEDUCED_TYPENAME ::boost::remove_const< BOOST_DEDUCED_TYPENAME tagged_left_type::value_type >::type, BOOST_DEDUCED_TYPENAME tagged_left_type::value_type >::type boost::bimaps::relation::symmetrical_base< SecondType , FirstType , force_mutable >::left_value_type
inherited

The type stored in the relation.

typedef BOOST_DEDUCED_TYPENAME tagged_right_type::tag boost::bimaps::relation::symmetrical_base< SecondType , FirstType , force_mutable >::right_tag
inherited

The tag of the member. By default it is member_at::{side}.

typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c< force_mutable, BOOST_DEDUCED_TYPENAME ::boost::remove_const< BOOST_DEDUCED_TYPENAME tagged_right_type::value_type >::type, BOOST_DEDUCED_TYPENAME tagged_right_type::value_type >::type boost::bimaps::relation::symmetrical_base< SecondType , FirstType , force_mutable >::right_value_type
inherited

The type stored in the relation.

template<class FirstType , class SecondType >
typedef BOOST_DEDUCED_TYPENAME base_::left_value_type boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::second_type
template<class FirstType , class SecondType >
typedef mirror_storage boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::storage_
typedef BOOST_DEDUCED_TYPENAME tags::support::default_tagged< SecondType , member_at::left >::type boost::bimaps::relation::symmetrical_base< SecondType , FirstType , force_mutable >::tagged_left_type
inherited

Constructor & Destructor Documentation

template<class FirstType , class SecondType >
boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::mirror_storage ( )
inline
template<class FirstType , class SecondType >
boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::mirror_storage ( BOOST_DEDUCED_TYPENAME::boost::call_traits< first_type >::param_type  f,
BOOST_DEDUCED_TYPENAME::boost::call_traits< second_type >::param_type  s 
)
inline

Member Function Documentation

template<class FirstType , class SecondType >
BOOST_DEDUCED_TYPENAME base_:: left_value_type& boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::get_left ( )
inline
template<class FirstType , class SecondType >
const BOOST_DEDUCED_TYPENAME base_:: left_value_type& boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::get_left ( ) const
inline
template<class FirstType , class SecondType >
const BOOST_DEDUCED_TYPENAME base_::right_value_type& boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::get_right ( ) const
inline

Member Data Documentation

template<class FirstType , class SecondType >
first_type boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::first
template<class FirstType , class SecondType >
second_type boost::bimaps::relation::detail::mirror_storage< FirstType, SecondType >::second

The documentation for this class was generated from the following file: