forked from boostorg/typeof
Compare commits
46 Commits
svn-branch
...
boost-1.46
Author | SHA1 | Date | |
---|---|---|---|
c17e6df07a | |||
4fab1b5d17 | |||
85eed8ff60 | |||
81e54ccb1f | |||
e9749f185f | |||
bfb19140f1 | |||
4aab62e71c | |||
0f21fe555a | |||
ef283a6a74 | |||
33ae5341c1 | |||
cde21a588d | |||
3ecb3bf102 | |||
1c1ab4c883 | |||
8d8d35c1ae | |||
84ec781ea1 | |||
f7df17a93a | |||
ed21868c25 | |||
c66289f7ac | |||
43b4d4522c | |||
8868adc891 | |||
452b493b7a | |||
eeff4e592c | |||
1b65bfc95d | |||
eda5c4afba | |||
340148f738 | |||
64ba3be86f | |||
d337b0837a | |||
dddbb00da4 | |||
935b36d8f5 | |||
5bd010787a | |||
55ac93f947 | |||
366ab1b621 | |||
aede9c2866 | |||
2b92bbcb21 | |||
dff8a5c505 | |||
a460694e5d | |||
db9203fb0e | |||
9a14e20bc5 | |||
47a4b2a2c1 | |||
337fe1fdf6 | |||
11b18afcce | |||
7cbdf2406a | |||
97b9bda347 | |||
041f9cfd24 | |||
c17f725e5f | |||
35874c8e32 |
@ -10,6 +10,7 @@ boostbook standalone
|
||||
:
|
||||
typeof
|
||||
:
|
||||
<xsl:param>boost.root=../../../..
|
||||
<xsl:param>nav.layout=none
|
||||
<xsl:param>navig.graphics=0
|
||||
;
|
||||
|
@ -1,4 +1,4 @@
|
||||
[library Boost.Typeof
|
||||
[library Boost.Typeof
|
||||
[authors [Vertleyb, Arkadiy], [Holt, Peder]]
|
||||
[copyright 2004 2005 Arkadiy Vertleyb, Peder Holt]
|
||||
[license
|
||||
@ -383,6 +383,14 @@ Redefine if you want the Typeof Library to handle functions with more parameters
|
||||
|
||||
[endsect]
|
||||
|
||||
[section:messages MESSAGES]
|
||||
|
||||
Define `BOOST_TYPEOF_MESSAGE` before including boost/typeof/typeof.hpp to
|
||||
include messages "using typeof emulation" and "using native typeof".
|
||||
By default, these messages will not be displayed.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section:limit_size LIMIT_SIZE]
|
||||
|
||||
The `BOOST_TYPEOF_LIMIT_SIZE` macro defines the size of the compile-time sequence
|
||||
|
0
include/boost/typeof/dmc/typeof_impl.hpp
Executable file → Normal file
0
include/boost/typeof/dmc/typeof_impl.hpp
Executable file → Normal file
0
include/boost/typeof/encode_decode.hpp
Executable file → Normal file
0
include/boost/typeof/encode_decode.hpp
Executable file → Normal file
0
include/boost/typeof/encode_decode_params.hpp
Executable file → Normal file
0
include/boost/typeof/encode_decode_params.hpp
Executable file → Normal file
0
include/boost/typeof/incr_registration_group.hpp
Executable file → Normal file
0
include/boost/typeof/incr_registration_group.hpp
Executable file → Normal file
0
include/boost/typeof/int_encoding.hpp
Executable file → Normal file
0
include/boost/typeof/int_encoding.hpp
Executable file → Normal file
0
include/boost/typeof/integral_template_param.hpp
Executable file → Normal file
0
include/boost/typeof/integral_template_param.hpp
Executable file → Normal file
2
include/boost/typeof/message.hpp
Executable file → Normal file
2
include/boost/typeof/message.hpp
Executable file → Normal file
@ -2,7 +2,7 @@
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#if defined(_MSC_VER) && !defined BOOST_TYPEOF_SILENT
|
||||
#if defined(_MSC_VER) && defined BOOST_TYPEOF_MESSAGES
|
||||
# pragma message(BOOST_TYPEOF_TEXT)
|
||||
#endif
|
||||
#undef BOOST_TYPEOF_TEXT
|
||||
|
0
include/boost/typeof/modifiers.hpp
Executable file → Normal file
0
include/boost/typeof/modifiers.hpp
Executable file → Normal file
15
include/boost/typeof/msvc/typeof_impl.hpp
Executable file → Normal file
15
include/boost/typeof/msvc/typeof_impl.hpp
Executable file → Normal file
@ -153,7 +153,9 @@ namespace boost
|
||||
};
|
||||
};
|
||||
# endif
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
|
||||
// EAN: preprocess this block out on advice of Peder Holt
|
||||
// to eliminate errors in type_traits/common_type.hpp
|
||||
# if 0 //BOOST_WORKAROUND(BOOST_MSVC,==1310)
|
||||
template<const std::type_info& ref_type_info>
|
||||
struct msvc_typeid_wrapper {
|
||||
typedef typename msvc_extract_type<msvc_typeid_wrapper>::id2type id2type;
|
||||
@ -184,6 +186,7 @@ namespace boost
|
||||
template<typename Organizer, typename T>
|
||||
msvc_register_type<T,Organizer> typeof_register_type(const T&);
|
||||
|
||||
|
||||
# define BOOST_TYPEOF(expr) \
|
||||
boost::type_of::msvc_typeid_wrapper<typeid(boost::type_of::encode_start(expr))>::type
|
||||
|
||||
@ -239,10 +242,18 @@ struct name {\
|
||||
{
|
||||
typedef char(*type)[encode_type<T>::value];
|
||||
};
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
|
||||
template<typename T> typename disable_if<
|
||||
typename is_function<T>::type,
|
||||
typename sizer<T>::type>::type encode_start(T const&);
|
||||
|
||||
template<typename T> typename enable_if<
|
||||
typename is_function<T>::type,
|
||||
typename sizer<T>::type>::type encode_start(T&);
|
||||
# else
|
||||
template<typename T>
|
||||
typename sizer<T>::type encode_start(T const&);
|
||||
|
||||
# endif
|
||||
template<typename Organizer, typename T>
|
||||
msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
|
||||
|
||||
|
0
include/boost/typeof/native.hpp
Executable file → Normal file
0
include/boost/typeof/native.hpp
Executable file → Normal file
0
include/boost/typeof/pointers_data_members.hpp
Executable file → Normal file
0
include/boost/typeof/pointers_data_members.hpp
Executable file → Normal file
19
include/boost/typeof/register_functions.hpp
Executable file → Normal file
19
include/boost/typeof/register_functions.hpp
Executable file → Normal file
@ -24,12 +24,19 @@
|
||||
enum
|
||||
{
|
||||
FUN_ID = BOOST_TYPEOF_UNIQUE_ID(),
|
||||
FUN_PTR_ID = FUN_ID + 1 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
FUN_REF_ID = FUN_ID + 2 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
MEM_FUN_ID = FUN_ID + 3 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
CONST_MEM_FUN_ID = FUN_ID + 4 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
VOLATILE_MEM_FUN_ID = FUN_ID + 5 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
VOLATILE_CONST_MEM_FUN_ID = FUN_ID + 6 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
|
||||
FUN_PTR_ID = FUN_ID + 1 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
FUN_REF_ID = FUN_ID + 2 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
MEM_FUN_ID = FUN_ID + 3 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
CONST_MEM_FUN_ID = FUN_ID + 4 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
VOLATILE_MEM_FUN_ID = FUN_ID + 5 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
VOLATILE_CONST_MEM_FUN_ID = FUN_ID + 6 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
FUN_VAR_ID = FUN_ID + 7 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
FUN_VAR_PTR_ID = FUN_ID + 8 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
FUN_VAR_REF_ID = FUN_ID + 9 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
MEM_FUN_VAR_ID = FUN_ID + 10 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
CONST_MEM_FUN_VAR_ID = FUN_ID + 11 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
VOLATILE_MEM_FUN_VAR_ID = FUN_ID + 12 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
|
||||
VOLATILE_CONST_MEM_FUN_VAR_ID = FUN_ID + 13 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
|
||||
};
|
||||
|
||||
BOOST_TYPEOF_BEGIN_ENCODE_NS
|
||||
|
48
include/boost/typeof/register_functions_iterate.hpp
Executable file → Normal file
48
include/boost/typeof/register_functions_iterate.hpp
Executable file → Normal file
@ -15,6 +15,13 @@ struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P))>
|
||||
typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_PTR_ID + n) type;
|
||||
};
|
||||
|
||||
template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
|
||||
struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
|
||||
{
|
||||
typedef R BOOST_PP_CAT(P, n);
|
||||
typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_PTR_ID + n) type;
|
||||
};
|
||||
|
||||
template<class Iter>
|
||||
struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
|
||||
{
|
||||
@ -24,6 +31,15 @@ struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
|
||||
typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
|
||||
};
|
||||
|
||||
template<class Iter>
|
||||
struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
|
||||
{
|
||||
typedef Iter iter0;
|
||||
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
|
||||
typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
|
||||
typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
|
||||
};
|
||||
|
||||
#ifndef BOOST_TYPEOF_NO_FUNCTION_TYPES
|
||||
|
||||
// function references
|
||||
@ -35,6 +51,13 @@ struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
|
||||
typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_REF_ID + n) type;
|
||||
};
|
||||
|
||||
template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
|
||||
struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
|
||||
{
|
||||
typedef R BOOST_PP_CAT(P, n);
|
||||
typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_REF_ID + n) type;
|
||||
};
|
||||
|
||||
template<class Iter>
|
||||
struct decode_type_impl<boost::mpl::size_t<FUN_REF_ID + n>, Iter>
|
||||
{
|
||||
@ -44,6 +67,15 @@ struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
|
||||
typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
|
||||
};
|
||||
|
||||
template<class Iter>
|
||||
struct decode_type_impl<boost::mpl::size_t<FUN_VAR_REF_ID + n>, Iter>
|
||||
{
|
||||
typedef Iter iter0;
|
||||
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
|
||||
typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
|
||||
typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
|
||||
};
|
||||
|
||||
// functions
|
||||
|
||||
template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
|
||||
@ -53,6 +85,13 @@ struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
|
||||
typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_ID + n) type;
|
||||
};
|
||||
|
||||
template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
|
||||
struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P) ...)>
|
||||
{
|
||||
typedef R BOOST_PP_CAT(P, n);
|
||||
typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_ID + n) type;
|
||||
};
|
||||
|
||||
template<class Iter>
|
||||
struct decode_type_impl<boost::mpl::size_t<FUN_ID + n>, Iter>
|
||||
{
|
||||
@ -62,6 +101,15 @@ struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
|
||||
typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
|
||||
};
|
||||
|
||||
template<class Iter>
|
||||
struct decode_type_impl<boost::mpl::size_t<FUN_VAR_ID + n>, Iter>
|
||||
{
|
||||
typedef Iter iter0;
|
||||
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
|
||||
typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
|
||||
typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
|
||||
};
|
||||
|
||||
#endif//BOOST_TYPEOF_NO_FUNCTION_TYPES
|
||||
|
||||
#ifndef BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
|
||||
|
0
include/boost/typeof/register_fundamental.hpp
Executable file → Normal file
0
include/boost/typeof/register_fundamental.hpp
Executable file → Normal file
0
include/boost/typeof/register_mem_functions.hpp
Executable file → Normal file
0
include/boost/typeof/register_mem_functions.hpp
Executable file → Normal file
0
include/boost/typeof/std/bitset.hpp
Executable file → Normal file
0
include/boost/typeof/std/bitset.hpp
Executable file → Normal file
0
include/boost/typeof/std/complex.hpp
Executable file → Normal file
0
include/boost/typeof/std/complex.hpp
Executable file → Normal file
0
include/boost/typeof/std/deque.hpp
Executable file → Normal file
0
include/boost/typeof/std/deque.hpp
Executable file → Normal file
0
include/boost/typeof/std/fstream.hpp
Executable file → Normal file
0
include/boost/typeof/std/fstream.hpp
Executable file → Normal file
0
include/boost/typeof/std/functional.hpp
Executable file → Normal file
0
include/boost/typeof/std/functional.hpp
Executable file → Normal file
0
include/boost/typeof/std/iostream.hpp
Executable file → Normal file
0
include/boost/typeof/std/iostream.hpp
Executable file → Normal file
0
include/boost/typeof/std/istream.hpp
Executable file → Normal file
0
include/boost/typeof/std/istream.hpp
Executable file → Normal file
0
include/boost/typeof/std/iterator.hpp
Executable file → Normal file
0
include/boost/typeof/std/iterator.hpp
Executable file → Normal file
0
include/boost/typeof/std/list.hpp
Executable file → Normal file
0
include/boost/typeof/std/list.hpp
Executable file → Normal file
0
include/boost/typeof/std/locale.hpp
Executable file → Normal file
0
include/boost/typeof/std/locale.hpp
Executable file → Normal file
0
include/boost/typeof/std/map.hpp
Executable file → Normal file
0
include/boost/typeof/std/map.hpp
Executable file → Normal file
0
include/boost/typeof/std/memory.hpp
Executable file → Normal file
0
include/boost/typeof/std/memory.hpp
Executable file → Normal file
0
include/boost/typeof/std/ostream.hpp
Executable file → Normal file
0
include/boost/typeof/std/ostream.hpp
Executable file → Normal file
0
include/boost/typeof/std/queue.hpp
Executable file → Normal file
0
include/boost/typeof/std/queue.hpp
Executable file → Normal file
0
include/boost/typeof/std/set.hpp
Executable file → Normal file
0
include/boost/typeof/std/set.hpp
Executable file → Normal file
0
include/boost/typeof/std/sstream.hpp
Executable file → Normal file
0
include/boost/typeof/std/sstream.hpp
Executable file → Normal file
0
include/boost/typeof/std/stack.hpp
Executable file → Normal file
0
include/boost/typeof/std/stack.hpp
Executable file → Normal file
0
include/boost/typeof/std/streambuf.hpp
Executable file → Normal file
0
include/boost/typeof/std/streambuf.hpp
Executable file → Normal file
0
include/boost/typeof/std/string.hpp
Executable file → Normal file
0
include/boost/typeof/std/string.hpp
Executable file → Normal file
0
include/boost/typeof/std/utility.hpp
Executable file → Normal file
0
include/boost/typeof/std/utility.hpp
Executable file → Normal file
0
include/boost/typeof/std/valarray.hpp
Executable file → Normal file
0
include/boost/typeof/std/valarray.hpp
Executable file → Normal file
0
include/boost/typeof/std/vector.hpp
Executable file → Normal file
0
include/boost/typeof/std/vector.hpp
Executable file → Normal file
0
include/boost/typeof/template_encoding.hpp
Executable file → Normal file
0
include/boost/typeof/template_encoding.hpp
Executable file → Normal file
0
include/boost/typeof/template_template_param.hpp
Executable file → Normal file
0
include/boost/typeof/template_template_param.hpp
Executable file → Normal file
0
include/boost/typeof/type_encoding.hpp
Executable file → Normal file
0
include/boost/typeof/type_encoding.hpp
Executable file → Normal file
0
include/boost/typeof/type_template_param.hpp
Executable file → Normal file
0
include/boost/typeof/type_template_param.hpp
Executable file → Normal file
44
include/boost/typeof/typeof.hpp
Executable file → Normal file
44
include/boost/typeof/typeof.hpp
Executable file → Normal file
@ -15,7 +15,7 @@
|
||||
|
||||
#if defined(__COMO__)
|
||||
# ifdef __GNUG__
|
||||
# ifndef(BOOST_TYPEOF_EMULATION)
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
# define BOOST_TYPEOF_NATIVE
|
||||
# endif
|
||||
@ -65,7 +65,7 @@
|
||||
# endif
|
||||
# define BOOST_TYPEOF_KEYWORD __typeof__
|
||||
# else
|
||||
# error typeof emulation is not supported
|
||||
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
|
||||
# endif
|
||||
# else // 9.x
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
@ -75,7 +75,22 @@
|
||||
# define BOOST_TYPEOF_KEYWORD __typeof__
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined __CODEGEARC__
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
|
||||
# endif
|
||||
# else
|
||||
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
|
||||
# endif
|
||||
#elif defined __BORLANDC__
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
|
||||
# endif
|
||||
# else
|
||||
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
|
||||
# endif
|
||||
#elif defined __DMC__
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
@ -95,24 +110,21 @@
|
||||
# else
|
||||
# error typeof emulation is not supported
|
||||
# endif
|
||||
# elif (_MSC_VER >= 1310) // 7.1, 8.0
|
||||
# elif (_MSC_VER >= 1310) // 7.1 ->
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
# define BOOST_TYPEOF_NATIVE
|
||||
# ifndef _MSC_EXTENSIONS
|
||||
# define BOOST_TYPEOF_EMULATION
|
||||
# else
|
||||
# define BOOST_TYPEOF_NATIVE
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# ifdef BOOST_TYPEOF_NATIVE
|
||||
# include <boost/typeof/msvc/typeof_impl.hpp>
|
||||
# define MSVC_TYPEOF_HACK
|
||||
# endif
|
||||
/*# else // 8.0
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
# define BOOST_TYPEOF_EMULATION
|
||||
# endif
|
||||
# else
|
||||
# error native typeof is not supported
|
||||
# endif*/
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# ifndef BOOST_TYPEOF_NATIVE
|
||||
# ifndef BOOST_TYPEOF_EMULATION
|
||||
@ -163,7 +175,9 @@
|
||||
#define BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\
|
||||
<boost/typeof/incr_registration_group.hpp>
|
||||
|
||||
#ifdef BOOST_TYPEOF_EMULATION
|
||||
#ifdef BOOST_TYPEOF_EMULATION_UNSUPPORTED
|
||||
# include <boost/typeof/unsupported.hpp>
|
||||
#elif defined BOOST_TYPEOF_EMULATION
|
||||
# define BOOST_TYPEOF_TEXT "using typeof emulation"
|
||||
# include <boost/typeof/message.hpp>
|
||||
# include <boost/typeof/typeof_impl.hpp>
|
||||
|
0
include/boost/typeof/typeof_impl.hpp
Executable file → Normal file
0
include/boost/typeof/typeof_impl.hpp
Executable file → Normal file
29
include/boost/typeof/unsupported.hpp
Normal file
29
include/boost/typeof/unsupported.hpp
Normal file
@ -0,0 +1,29 @@
|
||||
// Copyright (C) 2010 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
|
||||
#define BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
|
||||
|
||||
namespace boost { namespace type_of {
|
||||
struct typeof_emulation_is_unsupported_on_this_compiler {};
|
||||
}}
|
||||
|
||||
#define BOOST_TYPEOF(expr) boost::type_of::typeof_emulation_is_unsupported_on_this_compiler
|
||||
#define BOOST_TYPEOF_TPL BOOST_TYPEOF
|
||||
|
||||
#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
|
||||
struct name {\
|
||||
typedef BOOST_TYPEOF_TPL(expr) type;\
|
||||
};
|
||||
|
||||
#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
|
||||
struct name {\
|
||||
typedef BOOST_TYPEOF(expr) type;\
|
||||
};
|
||||
|
||||
|
||||
#define BOOST_TYPEOF_REGISTER_TYPE(x)
|
||||
#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
|
||||
|
||||
#endif
|
0
include/boost/typeof/vector.hpp
Executable file → Normal file
0
include/boost/typeof/vector.hpp
Executable file → Normal file
0
include/boost/typeof/vector100.hpp
Executable file → Normal file
0
include/boost/typeof/vector100.hpp
Executable file → Normal file
0
include/boost/typeof/vector150.hpp
Executable file → Normal file
0
include/boost/typeof/vector150.hpp
Executable file → Normal file
0
include/boost/typeof/vector200.hpp
Executable file → Normal file
0
include/boost/typeof/vector200.hpp
Executable file → Normal file
0
include/boost/typeof/vector50.hpp
Executable file → Normal file
0
include/boost/typeof/vector50.hpp
Executable file → Normal file
2
index.html
Executable file → Normal file
2
index.html
Executable file → Normal file
@ -10,7 +10,7 @@ License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
</head>
|
||||
<body>
|
||||
Automatic redirection failed, please go to
|
||||
<a href="../../doc/html/xpressive.html">../../doc/html/typeof.html</a>
|
||||
<a href="../../doc/html/typeof.html">../../doc/html/typeof.html</a>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
0
test/data_member.cpp
Executable file → Normal file
0
test/data_member.cpp
Executable file → Normal file
0
test/function.cpp
Executable file → Normal file
0
test/function.cpp
Executable file → Normal file
0
test/function_binding.cpp
Executable file → Normal file
0
test/function_binding.cpp
Executable file → Normal file
0
test/function_ptr.cpp
Executable file → Normal file
0
test/function_ptr.cpp
Executable file → Normal file
0
test/function_ptr_from_tpl.cpp
Executable file → Normal file
0
test/function_ptr_from_tpl.cpp
Executable file → Normal file
0
test/function_ref.cpp
Executable file → Normal file
0
test/function_ref.cpp
Executable file → Normal file
0
test/member_function.cpp
Executable file → Normal file
0
test/member_function.cpp
Executable file → Normal file
0
test/modifiers.cpp
Executable file → Normal file
0
test/modifiers.cpp
Executable file → Normal file
0
test/noncopyable.cpp
Executable file → Normal file
0
test/noncopyable.cpp
Executable file → Normal file
0
test/odr.hpp
Executable file → Normal file
0
test/odr.hpp
Executable file → Normal file
0
test/odr1.cpp
Executable file → Normal file
0
test/odr1.cpp
Executable file → Normal file
0
test/odr2.cpp
Executable file → Normal file
0
test/odr2.cpp
Executable file → Normal file
0
test/odr_no_uns1.cpp
Executable file → Normal file
0
test/odr_no_uns1.cpp
Executable file → Normal file
0
test/odr_no_uns1.hpp
Executable file → Normal file
0
test/odr_no_uns1.hpp
Executable file → Normal file
0
test/odr_no_uns2.cpp
Executable file → Normal file
0
test/odr_no_uns2.cpp
Executable file → Normal file
0
test/odr_no_uns2.hpp
Executable file → Normal file
0
test/odr_no_uns2.hpp
Executable file → Normal file
0
test/std.cpp
Executable file → Normal file
0
test/std.cpp
Executable file → Normal file
0
test/template_dependent.cpp
Executable file → Normal file
0
test/template_dependent.cpp
Executable file → Normal file
0
test/template_enum.cpp
Executable file → Normal file
0
test/template_enum.cpp
Executable file → Normal file
0
test/template_int.cpp
Executable file → Normal file
0
test/template_int.cpp
Executable file → Normal file
0
test/template_multiword.cpp
Executable file → Normal file
0
test/template_multiword.cpp
Executable file → Normal file
0
test/template_tpl.cpp
Executable file → Normal file
0
test/template_tpl.cpp
Executable file → Normal file
0
test/template_type.cpp
Executable file → Normal file
0
test/template_type.cpp
Executable file → Normal file
0
test/test.hpp
Executable file → Normal file
0
test/test.hpp
Executable file → Normal file
0
test/type.cpp
Executable file → Normal file
0
test/type.cpp
Executable file → Normal file
Reference in New Issue
Block a user