Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51889 - in sandbox/mirror/libs/mirror/example: . traversal
From: chochlik_at_[hidden]
Date: 2009-03-21 13:56:46


Author: matus.chochlik
Date: 2009-03-21 13:56:45 EDT (Sat, 21 Mar 2009)
New Revision: 51889
URL: http://svn.boost.org/trac/boost/changeset/51889

Log:
[mirror 0.3.x]
- added an example of the JSON serializer usage

Added:
   sandbox/mirror/libs/mirror/example/traversal/json_03.cpp (contents, props changed)
Text files modified:
   sandbox/mirror/libs/mirror/example/Jamfile.v2 | 1 +
   1 files changed, 1 insertions(+), 0 deletions(-)

Modified: sandbox/mirror/libs/mirror/example/Jamfile.v2
==============================================================================
--- sandbox/mirror/libs/mirror/example/Jamfile.v2 (original)
+++ sandbox/mirror/libs/mirror/example/Jamfile.v2 2009-03-21 13:56:45 EDT (Sat, 21 Mar 2009)
@@ -39,6 +39,7 @@
 exe tvrsl_sample_visitor : traversal/sample_visitor.cpp ;
 exe tvrsl_json_01 : traversal/json_01.cpp ;
 exe tvrsl_json_02 : traversal/json_02.cpp ;
+exe tvrsl_json_03 : traversal/json_03.cpp ;
 exe tvrsl_meta_path_full : traversal/meta_path_full.cpp ;
 exe tvrsl_meta_path_visitor : traversal/sample_meta_path.cpp ;
 #

Added: sandbox/mirror/libs/mirror/example/traversal/json_03.cpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/libs/mirror/example/traversal/json_03.cpp 2009-03-21 13:56:45 EDT (Sat, 21 Mar 2009)
@@ -0,0 +1,47 @@
+/**
+ * \file examples/traversal/json_01.cpp
+ *
+ * Sample showing the usage of the json_serializer
+ *
+ * Copyright 2008 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 <boost/char_type_switch/iostream.hpp>
+//
+#include <boost/mirror/meta_class.hpp>
+#include <boost/mirror/meta_classes/std/pair.hpp>
+//
+#include <boost/mirror/visitors/json.hpp>
+#include <boost/mirror/traversal.hpp>
+
+
+template <class Class>
+void test(Class value)
+{
+ using namespace ::std;
+ using namespace ::boost;
+ using namespace ::boost::mirror;
+
+ flat_traversal_of<
+ BOOST_MIRRORED_CLASS(Class)
+ >::accept(
+ make_json_serializer(cts::bcout(), mpl::true_()),
+ &value
+ );
+ cts::bcout() << endl;
+}
+
+int main(void)
+{
+ using namespace ::std;
+ using namespace ::boost;
+ //
+ pair<cts::bstring, cts::bstring> p(
+ BOOST_CTS_LIT("aábcćčdďeéěfghiíjklĺľmnňoôpqrŕřsśštťuúůvwxyýzž"),
+ BOOST_CTS_LIT("AÁBCĆČDĎEÉĚFGHIÍJKLĹĽMNŇOÔPQRŔŘSŚŠTŤUÚŮVWXYÝZŽ")
+ );
+ test(p);
+ //
+ return 0;
+}


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