x
Yes
No
Do you want to visit DriveHQ English website?
Inicio
Características
Precios
Prueba gratuita
Software cliente
Acerca de nosotros
Servidor de archivos
|
Solución de copias de seguridad
|
Servidor FTP
|
Servidor de correo electrónico
|
Alojamiento web
|
Software cliente
Servidor de archivos
Solución de copia de seguridad
Servidor FTP
Servidor de correo electrónico
Alojamiento web
Software cliente
manage_additional_parameters.hpp - Hosted on DriveHQ Cloud IT Platform
Arriba
Subir
Descargar
Compartir
Publicar
Nueva carpeta
Nuevo archivo
Copiar
Cortar
Eliminar
Pegar
Clasificación
Actualizar
Ruta de la carpeta: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\bimap\detail\manage_additional_parameters.hpp
Girar
Efecto
Propiedad
Historial
// 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 detail/manage_additional_parameters.hpp /// \brief Utility class to extract the additional parameters from the template parameters. #ifndef BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP #define BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP #if defined(_MSC_VER) && (_MSC_VER>=1200) #pragma once #endif #include
#include
// Boost.MPL #include
#include
#include
#include
#include
namespace boost { namespace bimaps { template< class Type > struct with_info { typedef Type value_type; }; namespace detail { /// \brief Metafunction to check if a given type is a data_hook specification. template< class Type > struct is_with_info : ::boost::mpl::false_ {}; template< class ValueType > struct is_with_info< with_info
> : ::boost::mpl::true_ {}; /** \struct boost::bimaps::detail::manage_additional_parameters \brief Utility class to extract the additional parameters from the template parameters. \code template< class AP1, class AP2, class AP3 > struct manage_additional_parameters { struct parameters { typedef -unspecified- set_type_of_relation; typedef -unspecified- data_hook; typedef -unspecified- allocator; }; typedef parameters type; }; \endcode See also bimap, bimap_core. **/ #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class AP1, class AP2, class AP3 > struct manage_additional_parameters { // (1) manage_additional_parameters< // not_specified,not_specified,not_specified> // // set_type_of_relation: based on the left key type // info_hook: no additional info // allocator: default allocator struct case_NNN { typedef left_based set_type_of_relation; typedef std::allocator
allocator; typedef ::boost::mpl::na additional_info; }; // (2) manage_additional_parameters
// // set_type_of_relation: based on the left key type // info_hook: no additional info // allocator: Allocator struct case_ANN { typedef left_based set_type_of_relation; typedef AP1 allocator; typedef ::boost::mpl::na additional_info; }; // (3) manage_additional_parameters< // SetOfRelationType,not_specified,not_specified> // // set_type_of_relation: SetTypeOfRelation // info_hook: no additional info // allocator: default allocator struct case_SNN { typedef AP1 set_type_of_relation; typedef std::allocator
allocator; typedef ::boost::mpl::na additional_info; }; // (4) manage_additional_parameters< // SetTypeOfRelation,Allocator,not_specified> // // set_type_of_relation: SetTypeOfRelation // info_hook: no additional info // allocator: Allocator struct case_SAN { typedef AP1 set_type_of_relation; typedef AP2 allocator; typedef ::boost::mpl::na additional_info; }; // (5) manage_additional_parameters
// // set_type_of_relation: based on the left key type // info_hook: InfoToHook // allocator: default allocator struct case_HNN { typedef left_based set_type_of_relation; typedef std::allocator
allocator; typedef BOOST_DEDUCED_TYPENAME AP1::value_type additional_info; }; // (6) manage_additional_parameters< // SetTypeOfRelation,InfoToHook,not_specified> // // set_type_of_relation: SetTypeOfRelation // info_hook: InfoToHook // allocator: default allocator struct case_SHN { typedef AP1 set_type_of_relation; typedef std::allocator
allocator; typedef BOOST_DEDUCED_TYPENAME AP2::value_type additional_info; }; // (7) manage_additional_parameters< // DataToHook,Allocator,not_specified> // // set_type_of_relation: SetTypeOfRelation // info_hook: InfoToHook // allocator: default allocator struct case_HAN { typedef left_based set_type_of_relation; typedef AP2 allocator; typedef BOOST_DEDUCED_TYPENAME AP1::value_type additional_info; }; // (8) manage_additional_parameters< // SetTypeOfRelation,DataToHook,Allocator> // // set_type_of_relation: SetTypeOfRelation // info_hook: InfoToHook // allocator: Allocator struct case_SHA { typedef AP1 set_type_of_relation; typedef AP2 allocator; typedef BOOST_DEDUCED_TYPENAME AP2::value_type additional_info; }; // Some annidated mpl::if_ and we are done! typedef BOOST_DEDUCED_TYPENAME mpl::if_ < ::boost::mpl::is_na
, case_NNN, // (1) BOOST_DEDUCED_TYPENAME mpl::if_ < ::boost::mpl::is_na
, BOOST_DEDUCED_TYPENAME mpl::if_ < is_set_type_of_relation
, case_SNN, // (3) BOOST_DEDUCED_TYPENAME mpl::if_ < is_with_info
, case_HNN, // (5) case_ANN // (2) >::type >::type, BOOST_DEDUCED_TYPENAME mpl::if_ < ::boost::mpl::is_na
, BOOST_DEDUCED_TYPENAME mpl::if_ < is_with_info
, case_HAN, // (7) BOOST_DEDUCED_TYPENAME mpl::if_ < is_with_info
, case_SHN, // (6) case_SAN // (4) >::type >::type, case_SHA // (8) >::type >::type >::type type; }; #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES } // namespace detail } // namespace bimaps } // namespace boost #endif // BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP
manage_additional_parameters.hpp
Dirección de la página
Dirección del archivo
Anterior
7/15
Siguiente
Descargar
( 6 KB )
Comments
Total ratings:
0
Average rating:
No clasificado
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.