|
Boost-Commit : |
From: chochlik_at_[hidden]
Date: 2008-07-08 10:34:54
Author: matus.chochlik
Date: 2008-07-08 10:34:54 EDT (Tue, 08 Jul 2008)
New Revision: 47224
URL: http://svn.boost.org/trac/boost/changeset/47224
Log:
- Updated the change log and several comments
- This is the official 0.2.0 release
- Tested with gcc (4.2.1/4.3.0), intel (10.1) and msvc (9.0)
Text files modified:
sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml | 9 ++++++---
sandbox/mirror/libs/mirror/example/registering/types.cpp | 17 ++++++++++-------
2 files changed, 16 insertions(+), 10 deletions(-)
Modified: sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml
==============================================================================
--- sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml (original)
+++ sandbox/mirror/libs/mirror/doc/xml/mirror/_library.xml 2008-07-08 10:34:54 EDT (Tue, 08 Jul 2008)
@@ -229,7 +229,7 @@
- Tested with gcc 4.3.0 on SuSE
- Tested with intel 10.1 on SuSE
</revision>
- <revision id="20080705" major="0" minor="2" micro="0" author="m_ch">
+ <revision id="20080708" major="0" minor="2" micro="0" author="m_ch">
- New branch
- Several features implemented by the means of the preprocessor were rewritten using templates
- Fully qualified name composing has been rewritten using standard C++ strings
@@ -238,8 +238,7 @@
Both registering and reflection have been fairly simplified
- Replaced the MIRROR_REFLECT_NAMESPACE with MIRRORED_NAMESPACE macro that takes the full namespace name instead
of a namespace alias MIRROR_REFLECT_NAMESPACE(_boost_mirror) is now MIRRORED_NAMESPACE(::boost::mirror).
- - Added MIRRORED_GLOBAL_SCOPE() to reflect global scope namespace which is equivalent to
- MIRRORED_NAMESPACE(::)
+ - Added MIRRORED_GLOBAL_SCOPE() to reflect global scope namespace
- Complete rewrite of type registering and reflection
- Changed the return value of base_name and full_name getters from const bchar* to bstring / const bstring&
@@ -270,6 +269,10 @@
- Renamed some of the base-class registering macros
- Tested with MSVC++ 2008 EE On Vista
+ - Tested with gcc 4.2.1 on FreeBSD
+ - Tested with gcc 4.2.1 on SuSE
+ - Tested with gcc 4.3.0 on SuSE
+ - Tested with intel 10.1 on SuSE
</revision>
</revisions>
</library>
Modified: sandbox/mirror/libs/mirror/example/registering/types.cpp
==============================================================================
--- sandbox/mirror/libs/mirror/example/registering/types.cpp (original)
+++ sandbox/mirror/libs/mirror/example/registering/types.cpp 2008-07-08 10:34:54 EDT (Tue, 08 Jul 2008)
@@ -10,20 +10,20 @@
// narrow/wide char stream
#include <boost/char_type_switch/iostream.hpp>
-
+// namespace and type related meta data
#include <boost/mirror/meta_namespace.hpp>
#include <boost/mirror/meta_type.hpp>
-//
+// traits
#include <boost/mirror/traits/reflects_global_scope.hpp>
-//
+// boost typeof
#include <boost/typeof/typeof.hpp>
-
-
+// define some namespaces
namespace test {
namespace feature {
namespace detail {
+// and inside some types
struct foo { };
struct bar { };
typedef double foobar;
@@ -32,8 +32,10 @@
} // namespace feature
} // namespace test
+// define some types on the global scope
struct bar { };
struct baz { };
+// typedef on the global scope
typedef double foobar;
@@ -52,6 +54,7 @@
// register the types
BOOST_MIRROR_REG_TYPE(::test::feature::detail, foo)
BOOST_MIRROR_REG_TYPE(::test::feature::detail, bar)
+//
// register a typedef'd class this allows to distinguish it from
// the 'source' type in some situations
BOOST_MIRROR_REG_TYPEDEF(::test::feature::detail, foobar)
@@ -69,7 +72,7 @@
} // namespace boost
namespace test {
-
+ // a function on pointer to which we'll reflect later
int zero(void){return 0;}
}
@@ -92,7 +95,6 @@
//
// put the full name of the type to the output stream
//
- //
bcout << "|00| " << BOOST_MIRRORED_TYPE(int) ::full_name() << endl;
bcout << "|01| " << BOOST_MIRRORED_TYPE(foo) ::full_name() << endl;
bcout << "|02| " << BOOST_MIRRORED_TYPE(bar) ::full_name() << endl;
@@ -191,6 +193,7 @@
//
// function pointers
bcout << "|46| " << BOOST_MIRRORED_TYPEOF(&test::zero) ::full_name() << endl;
+ //
// more function pointers
typedef const foo * volatile (*T47)(const ::bar&, volatile ::baz*, T45);
bcout << "|47| " << BOOST_MIRRORED_TYPE(T47) ::full_name() << endl;
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