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
type_traits.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\interprocess\detail\type_traits.hpp
Girar
Efecto
Propiedad
Historial
////////////////////////////////////////////////////////////////////////////// // (C) Copyright John Maddock 2000. // (C) Copyright Ion Gaztanaga 2005-2008. // // 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) // // See http://www.boost.org/libs/interprocess for documentation. // // The alignment_of implementation comes from John Maddock's boost::alignment_of code // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_INTERPROCESS_DETAIL_TYPE_TRAITS_HPP #define BOOST_INTERPROCESS_DETAIL_TYPE_TRAITS_HPP #if (defined _MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif #include
namespace boost { namespace interprocess { namespace detail { struct nat{}; //boost::alignment_of yields to 10K lines of preprocessed code, so we //need an alternative template
struct alignment_of; template
struct alignment_of_hack { char c; T t; alignment_of_hack(); }; template
struct alignment_logic { enum{ value = A < S ? A : S }; }; template< typename T > struct alignment_of { enum{ value = alignment_logic < sizeof(alignment_of_hack
) - sizeof(T) , sizeof(T)>::value }; }; //This is not standard, but should work with all compilers union max_align { char char_; short short_; int int_; long long_; #ifdef BOOST_HAS_LONG_LONG long long long_long_; #endif float float_; double double_; long double long_double_; void * void_ptr_; }; template
struct remove_reference { typedef T type; }; template
struct remove_reference
{ typedef T type; }; template
struct is_reference { enum { value = false }; }; template
struct is_reference
{ enum { value = true }; }; template
struct is_pointer { enum { value = false }; }; template
struct is_pointer
{ enum { value = true }; }; template
struct add_reference { typedef T& type; }; template
struct add_reference
{ typedef T& type; }; template<> struct add_reference
{ typedef nat& type; }; template<> struct add_reference
{ typedef const nat& type; }; template
struct is_same { typedef char yes_type; struct no_type { char padding[8]; }; template
static yes_type is_same_tester(V*, V*); static no_type is_same_tester(...); static T *t; static U *u; static const bool value = sizeof(yes_type) == sizeof(is_same_tester(t,u)); }; /* template
typename T, template
typename U> struct is_same { typedef char yes_type; struct no_type { char padding[8]; }; template
typename V> static yes_type is_same_tester(V
*, V
*); static no_type is_same_tester(...); static T
*t; static U
*u; static const bool value = sizeof(yes_type) == sizeof(is_same_tester(t,u)); };*/ /* template< typename T > struct is_pointer_impl { static const bool value = (::boost::type_traits::ice_and< ::boost::detail::is_pointer_helper
::type>::value , ::boost::type_traits::ice_not< ::boost::is_member_pointer
::value >::value >::value) ); };*/ } // namespace detail } //namespace interprocess { } //namespace boost { #endif //#ifndef BOOST_INTERPROCESS_DETAIL_TYPE_TRAITS_HPP #include
type_traits.hpp
Dirección de la página
Dirección del archivo
Anterior
25/29
Siguiente
Descargar
( 3 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.