#include <lestes/common.hh>#include <lestes/std/reflect.hh>#include <lestes/std/dumper_visitor.hh>#include <lestes/std/objectize.hh>#include <lestes/std/objectize_macros.hh>#include <lestes/std/map.hh>#include <lestes/std/set.hh>#include <lestes/std/list.hh>#include <lestes/std/pair.hh>#include <lestes/std/vector.hh>#include <fstream>#include <iostream>#include <lestes/std/dumper.hh>Go to the source code of this file.
Namespaces | |
| namespace | lestes |
| namespace | lestes::std |
Classes | |
| class | lestes::std::middle_object |
| class | lestes::std::dumped_object |
Defines | |
| #define | LENGTHOFARRAY(ar) (sizeof(ar)/sizeof(ar[0])) |
Typedefs | |
| typedef map< srp< object >, ulint > | map_type |
Enumerations | |
| enum | lestes::std::test_enum { lestes::std::EN_1 = -10, lestes::std::EN_2 = 30, lestes::std::EN_3, lestes::std::EN_4 = EN_1 + 15 } |
Functions | |
| lestes::std::specialize_objectize_for_enum (test_enum) | |
| lestes::std::specialize_objectize_nodump (::map_type::iterator) | |
| lestes::std::specialize_objectize_nodump_reference (lint &) | |
| int | main () |
| #define LENGTHOFARRAY | ( | ar | ) | (sizeof(ar)/sizeof(ar[0])) |
Definition at line 42 of file dumper.test.cc.
Definition at line 153 of file dumper.test.cc.
| int main | ( | void | ) |
Definition at line 165 of file dumper.test.cc.
References lestes::lang::cplus::sem::dump(), lestes::std::EN_1, lestes::std::EN_3, and lestes::std::EN_4.
00166 { 00167 typedef list< srp<object> > olist; 00168 ptr<olist> li = olist::create(); 00169 li->push_back( objectize<lint>::create(5) ); 00170 li->push_back( objectize<ulint>::create(6) ); 00171 ptr<dumped_object> o1 = dumped_object::create( 1, dumped_object::create(0,NULL,NULL), li ); 00172 li->push_back( o1 ); 00173 li->push_back( NULL ); 00174 00175 typedef list<bool> blist; 00176 ptr<blist> bl = blist::create(); 00177 bl->push_back(true); 00178 bl->push_back(true); 00179 bl->push_back(false); 00180 li->push_back(bl); 00181 00182 typedef set<lint> liset; 00183 ptr<liset> s = liset::create(); 00184 s->insert(5); 00185 s->insert(3); 00186 s->insert(-1); 00187 00188 typedef map< test_enum, srp<object> > mt; 00189 ptr<mt> m = mt::create(); 00190 (*m)[EN_3] = m; 00191 (*m)[EN_1] = NULL; 00192 (*m)[EN_4] = s; 00193 00194 typedef vector< srp<object> > vt; 00195 ptr<vt> v = vt::create(); 00196 v->push_back(m); 00197 v->push_back(NULL); 00198 v->push_back(v); 00199 // the following line tests that reference types as arguments to 00200 // objectize template are working 00201 lint i = 5; 00202 v->push_back( objectize<int &>::create(i) ); 00203 00204 li->push_back(v); 00205 00206 // test the nondumpable iterator ;) 00207 typedef map_type::iterator nd_type; 00208 ptr< list<nd_type> > lnd = list<nd_type>::create(); 00209 lnd->push_back( map_type::create()->begin() ); 00210 li->push_back(lnd); 00211 00212 // test barrier 00213 ptr<object> o2 = dumped_object::create( 77, dumped_object::create(88,NULL,NULL), NULL ); 00214 o2->dump_barrier_set( true ); 00215 li->push_back( o2 ); 00216 00217 ofstream f("dumper.test.xml"); 00218 00219 readable_dumper::dump( f, o1 ) << "<!-- end of readable dump -->" << endl; 00220 dumper::dump( f, o1 ) << "<!-- end of first flat dump -->" << endl; 00221 00222 li->push_front( vt::create() ); 00223 dumper::dump( f, o1, false ); 00224 00225 f.close(); 00226 00227 return 0; 00228 }
1.5.1-20070107