Mirror reflection library - Lagoon run-time layer 0.5.13
|
This example shows the usage of the reflection functions and range for-each utility with lambda functions
Copyright 2008-2010 Matus Chochlik. 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)
#include <mirror/mirror.hpp> #include <lagoon/lagoon.hpp> #include <lagoon/range/for_each.hpp> #include <iostream> int main(void) { using namespace lagoon; // // execute the lambda function on each member of the global scope for_each( reflected_global_scope()->members(), [](const shared<meta_named_scoped_object>& mo) { // print the full name of the reflected object std::cout << mo->full_name() << std::endl; } ); return 0; } /* Example of output: std boost void bool char unsigned char wchar_t short int int long int unsigned short int unsigned int unsigned long int float double long double */