Boost logo

Boost-Commit :

From: chochlik_at_[hidden]
Date: 2008-07-08 09:19:31


Author: matus.chochlik
Date: 2008-07-08 09:19:30 EDT (Tue, 08 Jul 2008)
New Revision: 47220
URL: http://svn.boost.org/trac/boost/changeset/47220

Log:
- Minor bugfixes to get it going with gcc and intel

Text files modified:
   sandbox/mirror/boost/mirror/detail/meta_attribs_base.hpp | 8 ++++----
   sandbox/mirror/boost/mirror/detail/meta_type_registering.hpp | 38 ++++++++++++++++++++++----------------
   sandbox/mirror/boost/mirror/meta_attributes.hpp | 7 ++++---
   3 files changed, 30 insertions(+), 23 deletions(-)

Modified: sandbox/mirror/boost/mirror/detail/meta_attribs_base.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/detail/meta_attribs_base.hpp (original)
+++ sandbox/mirror/boost/mirror/detail/meta_attribs_base.hpp 2008-07-08 09:19:30 EDT (Tue, 08 Jul 2008)
@@ -171,7 +171,7 @@
         TYPENAME_KW \
 ) typedef TYPENAME_KW mpl::push_back< \
         partial_list_##NAME, \
- typename ::boost::mirror::typedef_::extract_type< \
+ TYPENAME_KW ::boost::mirror::typedef_::extract_type< \
                 TYPE_SELECTOR \
>::type \
>::type
@@ -185,7 +185,7 @@
         GETTER_BODY, \
         TYPENAME_KW \
 ) inline static TYPENAME_KW call_traits< \
- typename ::boost::mirror::typedef_::extract_type< \
+ TYPENAME_KW ::boost::mirror::typedef_::extract_type< \
                         TYPE_SELECTOR \
>::type \
>::param_type get( \
@@ -220,7 +220,7 @@
                 Class& instance, \
                 position_of_##NAME, \
                 TYPENAME_KW call_traits< \
- typename ::boost::mirror::typedef_::extract_type< \
+ TYPENAME_KW ::boost::mirror::typedef_::extract_type< \
                                 TYPE_SELECTOR \
>::type \
>::param_type value \
@@ -229,7 +229,7 @@
                 const Class& instance, \
                 position_of_##NAME, \
                 TYPENAME_KW call_traits< \
- typename ::boost::mirror::typedef_::extract_type< \
+ TYPENAME_KW ::boost::mirror::typedef_::extract_type< \
                                 TYPE_SELECTOR \
>::type \
>::param_type value \

Modified: sandbox/mirror/boost/mirror/detail/meta_type_registering.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/detail/meta_type_registering.hpp (original)
+++ sandbox/mirror/boost/mirror/detail/meta_type_registering.hpp 2008-07-08 09:19:30 EDT (Tue, 08 Jul 2008)
@@ -98,9 +98,10 @@
  */
 namespace typedef_ {
 
- // this type is used to recognize the Typedef<Namespace, typedef_tag>
+ // this type is used to recognize the Typedef<typedef_tag<Namespace> >
         // templates representing registered typedefs from other
- // 'template <class, class> class' templates
+ // 'template <class> class' templates
+ template <class T>
         struct typedef_tag { };
 
         /** this meta-function is used to extract the type
@@ -120,14 +121,15 @@
          * In this case the base_type of the selector is returned
          */
         template <
- template <class, class> class TypedefSelector,
+ template <class> class TypedefSelector,
                 class NamespacePlaceholder
>
- struct extract_type<TypedefSelector<NamespacePlaceholder, typedef_tag> >
+ struct extract_type<TypedefSelector<typedef_tag<NamespacePlaceholder> > >
         {
                 typedef typename TypedefSelector<
- NamespacePlaceholder,
- typedef_tag
+ typedef_tag<
+ NamespacePlaceholder
+ >
>::base_type type;
         };
 } // namespace typedef_
@@ -138,16 +140,18 @@
  */
 #define BOOST_MIRROR_GET_TYPEDEFD_TYPE_SELECTOR(NAMESPACE, TYPEDEFD_NAME) \
         ::boost::mirror::typedef_::TYPEDEFD_NAME < \
- BOOST_MIRRORED_NAMESPACE( NAMESPACE ), \
- ::boost::mirror::typedef_::typedef_tag \
+ ::boost::mirror::typedef_::typedef_tag< \
+ BOOST_MIRRORED_NAMESPACE( NAMESPACE ) \
+ > \
>
 
 /** Macro that expands into a typedef-ined type selector
  */
 #define BOOST_MIRROR_GET_TYPEDEFD_TYPE_SELECTOR_GS(TYPEDEFD_NAME) \
         ::boost::mirror::typedef_::TYPEDEFD_NAME < \
- BOOST_MIRRORED_GLOBAL_SCOPE(), \
- ::boost::mirror::typedef_::typedef_tag \
+ ::boost::mirror::typedef_::typedef_tag< \
+ BOOST_MIRRORED_GLOBAL_SCOPE() \
+ > \
>
 
 #define BOOST_MIRROR_TYPEDEF(NAMESPACE, TYPEDEFD_NAME) \
@@ -160,10 +164,11 @@
  */
 #define BOOST_MIRROR_REG_TYPEDEF_GLOBAL_SCOPE(TYPEDEFD_NAME) \
         namespace typedef_ { \
- template <class MetaNamespace, class Tag> struct TYPEDEFD_NAME; \
+ template <class TaggedMetaNamespace> struct TYPEDEFD_NAME; \
                 template <> struct TYPEDEFD_NAME< \
- BOOST_MIRRORED_GLOBAL_SCOPE(), \
- ::boost::mirror::typedef_::typedef_tag \
+ ::boost::mirror::typedef_::typedef_tag< \
+ BOOST_MIRRORED_GLOBAL_SCOPE() \
+ > \
> {typedef TYPEDEFD_NAME base_type;}; \
         } /* namespace typedef_ */ \
         namespace detail { \
@@ -185,10 +190,11 @@
  */
 #define BOOST_MIRROR_REG_TYPEDEF(NAMESPACE, TYPEDEFD_NAME) \
         namespace typedef_ { \
- template <class MetaNamespace, class Tag> struct TYPEDEFD_NAME; \
+ template <class TaggedMetaNamespace> struct TYPEDEFD_NAME; \
                 template <> struct TYPEDEFD_NAME< \
- BOOST_MIRRORED_NAMESPACE( NAMESPACE ), \
- ::boost::mirror::typedef_::typedef_tag \
+ ::boost::mirror::typedef_::typedef_tag< \
+ BOOST_MIRRORED_NAMESPACE( NAMESPACE ) \
+ > \
> {typedef NAMESPACE :: TYPEDEFD_NAME base_type;}; \
         } /* namespace typedef_ */ \
         namespace detail { \

Modified: sandbox/mirror/boost/mirror/meta_attributes.hpp
==============================================================================
--- sandbox/mirror/boost/mirror/meta_attributes.hpp (original)
+++ sandbox/mirror/boost/mirror/meta_attributes.hpp 2008-07-08 09:19:30 EDT (Tue, 08 Jul 2008)
@@ -654,12 +654,13 @@
                         meta_attributes::get_traits(position())
                 )
                 typedef typename detail_traits::type traits;
+
+ typedef typename traits::meta_type_selector
+ meta_type_selector;
 
                 /** The meta-type of the attribute
                  */
- typedef meta_type<
- typename traits::meta_type_selector
- > meta_type;
+ typedef meta_type< meta_type_selector > meta_type;
         };
 
 } // namespace mirror


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk