diff --git a/include/boost/mpl/aux_/integral_wrapper.hpp b/include/boost/mpl/aux_/integral_wrapper.hpp index 9e90708..216ea3b 100644 --- a/include/boost/mpl/aux_/integral_wrapper.hpp +++ b/include/boost/mpl/aux_/integral_wrapper.hpp @@ -26,7 +26,13 @@ #if !defined(AUX_WRAPPER_NAME) # define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) +#endif + +#if !defined(AUX_WRAPPER_PARAMS) # define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) +#endif + +#if !defined(AUX_WRAPPER_INST) # define AUX_WRAPPER_INST(value) mpl::AUX_WRAPPER_NAME< value > #endif diff --git a/include/boost/mpl/long.hpp b/include/boost/mpl/long.hpp index 2206176..27e4f26 100644 --- a/include/boost/mpl/long.hpp +++ b/include/boost/mpl/long.hpp @@ -3,7 +3,7 @@ #define BOOST_MPL_LONG_HPP_INCLUDED // + file: boost/mpl/long.hpp -// + last modified: 27/jan/03 +// + last modified: 08/mar/03 // Copyright (c) 2000-03 // Aleksey Gurtovoy @@ -18,6 +18,8 @@ // // See http://www.boost.org/libs/mpl for documentation. +#include "boost/mpl/long_fwd.hpp" + #define AUX_WRAPPER_VALUE_TYPE long #include "boost/mpl/aux_/integral_wrapper.hpp" diff --git a/include/boost/mpl/long_fwd.hpp b/include/boost/mpl/long_fwd.hpp new file mode 100644 index 0000000..ecbcacb --- /dev/null +++ b/include/boost/mpl/long_fwd.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED +#define BOOST_MPL_LONG_FWD_HPP_INCLUDED + +// + file: boost/mpl/long_fwd.hpp +// + last modified: 08/mar/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +namespace boost { namespace mpl { +template< long N > struct long_; +}} + +#endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED diff --git a/include/boost/mpl/size_t.hpp b/include/boost/mpl/size_t.hpp new file mode 100644 index 0000000..086d1dc --- /dev/null +++ b/include/boost/mpl/size_t.hpp @@ -0,0 +1,29 @@ + +#ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED +#define BOOST_MPL_SIZE_T_HPP_INCLUDED + +// + file: boost/mpl/size_t.hpp +// + last modified: 08/mar/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/size_t_fwd.hpp" + +#define AUX_WRAPPER_VALUE_TYPE std::size_t +#define AUX_WRAPPER_NAME size_t +#define AUX_WRAPPER_PARAMS(N) std::size_t N + +#include "boost/mpl/aux_/integral_wrapper.hpp" + +#endif // BOOST_MPL_SIZE_T_HPP_INCLUDED diff --git a/include/boost/mpl/size_t_c.hpp b/include/boost/mpl/size_t_c.hpp deleted file mode 100644 index ecbdeda..0000000 --- a/include/boost/mpl/size_t_c.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//----------------------------------------------------------------------------- -// boost mpl/size_t_c.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 -// Aleksey Gurtovoy -// -// Permission to use, copy, modify, distribute and sell this software -// and its documentation for any purpose is hereby granted without fee, -// provided that the above copyright notice appears in all copies and -// that both the copyright notice and this permission notice appear in -// supporting documentation. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. - -#ifndef BOOST_MPL_SIZE_T_C_HPP_INCLUDED -#define BOOST_MPL_SIZE_T_C_HPP_INCLUDED - -#include "boost/mpl/integral_c.hpp" -#include "boost/config.hpp" -#include // for std::size_t - -namespace boost { -namespace mpl { - -template< std::size_t N > struct size_t_c -#if !defined(__BORLANDC__) - : integral_c< std::size_t,N > -{ - typedef size_t_c type; -}; -#else -{ - BOOST_STATIC_CONSTANT(std::size_t, value = N); - typedef size_t_c type; - typedef std::size_t value_type; - - typedef size_t_c next; - typedef size_t_c prior; - - operator std::size_t() const { return this->value; } -}; -#endif - -} // namespace mpl -} // namespace boost - -#endif // BOOST_MPL_SIZE_T_C_HPP_INCLUDED diff --git a/include/boost/mpl/size_t_fwd.hpp b/include/boost/mpl/size_t_fwd.hpp new file mode 100644 index 0000000..3cd63c4 --- /dev/null +++ b/include/boost/mpl/size_t_fwd.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED +#define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED + +// + file: boost/mpl/size_t_fwd.hpp +// + last modified: 08/mar/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/config.hpp" // make sure 'size_t' is placed into 'std' +#include + +namespace boost { namespace mpl { +template< std::size_t N > struct size_t; +}} + +#endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED diff --git a/include/boost/mpl/sizeof.hpp b/include/boost/mpl/sizeof.hpp index ef60131..9a47056 100644 --- a/include/boost/mpl/sizeof.hpp +++ b/include/boost/mpl/sizeof.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/sizeof.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2001-02 + +#ifndef BOOST_MPL_SIZEOF_HPP_INCLUDED +#define BOOST_MPL_SIZEOF_HPP_INCLUDED + +// + file: boost/mpl/sizeof.hpp +// + last modified: 08/mar/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,31 +15,26 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_SIZEOF_HPP_INCLUDED -#define BOOST_MPL_SIZEOF_HPP_INCLUDED - -#include "boost/mpl/size_t_c.hpp" +#include "boost/mpl/size_t.hpp" #include "boost/mpl/aux_/void_spec.hpp" #include "boost/mpl/aux_/lambda_support.hpp" -#include // for std::size_t - -namespace boost { -namespace mpl { +namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) > struct sizeof_ - : size_t_c + : size_t< sizeof(T) > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,sizeof_,(T)) }; BOOST_MPL_AUX_VOID_SPEC(1, sizeof_) -} // namespace mpl -} // namespace boost +}} // namespace boost::mpl #endif // BOOST_MPL_SIZEOF_HPP_INCLUDED