Click here to Skip to main content
Click here to Skip to main content
 
Add your own
alternative version
Go to top

Writing an exception safe code in generic way.

, 12 Dec 2006
An article on how to change the way of writing exception-safe code.
mate_demo.zip
mate
demos
DEVCPP
testMate
testMate.dev
MSVC
testMate
testMate.dsp
testMate.dsw
docs
Doxyfile
html
classam_1_1detail_1_1mate__base__inherit__graph.map
classam_1_1detail_1_1mate__base__inherit__graph.md5
classam_1_1detail_1_1mate__base__inherit__graph.png
classam_1_1mate_3_01void_01_4__coll__graph.map
classam_1_1mate_3_01void_01_4__coll__graph.md5
classam_1_1mate_3_01void_01_4__coll__graph.png
classam_1_1mate__coll__graph.map
classam_1_1mate__coll__graph.md5
classam_1_1mate__coll__graph.png
classam_1_1mate__inherit__graph.map
classam_1_1mate__inherit__graph.md5
classam_1_1mate__inherit__graph.png
classam_1_1ref__holder__coll__graph.map
classam_1_1ref__holder__coll__graph.md5
classam_1_1ref__holder__coll__graph.png
doxygen.png
graph_legend.dot
graph_legend.png
inherit__graph__0.map
inherit__graph__0.md5
inherit__graph__0.png
inherit__graph__1.map
inherit__graph__1.md5
inherit__graph__1.png
inherit__graph__10.map
inherit__graph__10.md5
inherit__graph__10.png
inherit__graph__11.map
inherit__graph__11.md5
inherit__graph__11.png
inherit__graph__12.map
inherit__graph__12.md5
inherit__graph__12.png
inherit__graph__13.map
inherit__graph__13.md5
inherit__graph__13.png
inherit__graph__14.map
inherit__graph__14.md5
inherit__graph__14.png
inherit__graph__15.map
inherit__graph__15.md5
inherit__graph__15.png
inherit__graph__16.map
inherit__graph__16.md5
inherit__graph__16.png
inherit__graph__17.map
inherit__graph__17.md5
inherit__graph__17.png
inherit__graph__18.map
inherit__graph__18.md5
inherit__graph__18.png
inherit__graph__19.map
inherit__graph__19.md5
inherit__graph__19.png
inherit__graph__2.map
inherit__graph__2.md5
inherit__graph__2.png
inherit__graph__20.map
inherit__graph__20.md5
inherit__graph__20.png
inherit__graph__21.map
inherit__graph__21.md5
inherit__graph__21.png
inherit__graph__22.map
inherit__graph__22.md5
inherit__graph__22.png
inherit__graph__23.map
inherit__graph__23.md5
inherit__graph__23.png
inherit__graph__24.map
inherit__graph__24.md5
inherit__graph__24.png
inherit__graph__25.map
inherit__graph__25.md5
inherit__graph__25.png
inherit__graph__26.map
inherit__graph__26.md5
inherit__graph__26.png
inherit__graph__27.map
inherit__graph__27.md5
inherit__graph__27.png
inherit__graph__28.map
inherit__graph__28.md5
inherit__graph__28.png
inherit__graph__29.map
inherit__graph__29.md5
inherit__graph__29.png
inherit__graph__3.map
inherit__graph__3.md5
inherit__graph__3.png
inherit__graph__30.map
inherit__graph__30.md5
inherit__graph__30.png
inherit__graph__31.map
inherit__graph__31.md5
inherit__graph__31.png
inherit__graph__32.map
inherit__graph__32.md5
inherit__graph__32.png
inherit__graph__4.map
inherit__graph__4.md5
inherit__graph__4.png
inherit__graph__5.map
inherit__graph__5.md5
inherit__graph__5.png
inherit__graph__6.map
inherit__graph__6.md5
inherit__graph__6.png
inherit__graph__7.map
inherit__graph__7.md5
inherit__graph__7.png
inherit__graph__8.map
inherit__graph__8.md5
inherit__graph__8.png
inherit__graph__9.map
inherit__graph__9.md5
inherit__graph__9.png
structam_1_1binder1st__coll__graph.map
structam_1_1binder1st__coll__graph.md5
structam_1_1binder1st__coll__graph.png
structam_1_1binder2nd__coll__graph.map
structam_1_1binder2nd__coll__graph.md5
structam_1_1binder2nd__coll__graph.png
structam_1_1lambda_1_1binder0__coll__graph.map
structam_1_1lambda_1_1binder0__coll__graph.md5
structam_1_1lambda_1_1binder0__coll__graph.png
structam_1_1lambda_1_1binder0__inherit__graph.map
structam_1_1lambda_1_1binder0__inherit__graph.md5
structam_1_1lambda_1_1binder0__inherit__graph.png
structam_1_1lambda_1_1binder1__coll__graph.map
structam_1_1lambda_1_1binder1__coll__graph.md5
structam_1_1lambda_1_1binder1__coll__graph.png
structam_1_1lambda_1_1binder1__inherit__graph.map
structam_1_1lambda_1_1binder1__inherit__graph.md5
structam_1_1lambda_1_1binder1__inherit__graph.png
structam_1_1lambda_1_1binder2__coll__graph.map
structam_1_1lambda_1_1binder2__coll__graph.md5
structam_1_1lambda_1_1binder2__coll__graph.png
structam_1_1lambda_1_1binder2__inherit__graph.map
structam_1_1lambda_1_1binder2__inherit__graph.md5
structam_1_1lambda_1_1binder2__inherit__graph.png
structam_1_1lambda_1_1binder3__coll__graph.map
structam_1_1lambda_1_1binder3__coll__graph.md5
structam_1_1lambda_1_1binder3__coll__graph.png
structam_1_1lambda_1_1binder3__inherit__graph.map
structam_1_1lambda_1_1binder3__inherit__graph.md5
structam_1_1lambda_1_1binder3__inherit__graph.png
structam_1_1lambda_1_1binder__const__obj0__coll__graph.map
structam_1_1lambda_1_1binder__const__obj0__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj0__coll__graph.png
structam_1_1lambda_1_1binder__const__obj0__inherit__graph.map
structam_1_1lambda_1_1binder__const__obj0__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj0__inherit__graph.png
structam_1_1lambda_1_1binder__const__obj1__coll__graph.map
structam_1_1lambda_1_1binder__const__obj1__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj1__coll__graph.png
structam_1_1lambda_1_1binder__const__obj1__inherit__graph.map
structam_1_1lambda_1_1binder__const__obj1__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj1__inherit__graph.png
structam_1_1lambda_1_1binder__const__obj2__coll__graph.map
structam_1_1lambda_1_1binder__const__obj2__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj2__coll__graph.png
structam_1_1lambda_1_1binder__const__obj2__inherit__graph.map
structam_1_1lambda_1_1binder__const__obj2__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj2__inherit__graph.png
structam_1_1lambda_1_1binder__const__obj3__coll__graph.map
structam_1_1lambda_1_1binder__const__obj3__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj3__coll__graph.png
structam_1_1lambda_1_1binder__const__obj3__inherit__graph.map
structam_1_1lambda_1_1binder__const__obj3__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj3__inherit__graph.png
structam_1_1lambda_1_1binder__obj0__coll__graph.map
structam_1_1lambda_1_1binder__obj0__coll__graph.md5
structam_1_1lambda_1_1binder__obj0__coll__graph.png
structam_1_1lambda_1_1binder__obj0__inherit__graph.map
structam_1_1lambda_1_1binder__obj0__inherit__graph.md5
structam_1_1lambda_1_1binder__obj0__inherit__graph.png
structam_1_1lambda_1_1binder__obj1__coll__graph.map
structam_1_1lambda_1_1binder__obj1__coll__graph.md5
structam_1_1lambda_1_1binder__obj1__coll__graph.png
structam_1_1lambda_1_1binder__obj1__inherit__graph.map
structam_1_1lambda_1_1binder__obj1__inherit__graph.md5
structam_1_1lambda_1_1binder__obj1__inherit__graph.png
structam_1_1lambda_1_1binder__obj2__coll__graph.map
structam_1_1lambda_1_1binder__obj2__coll__graph.md5
structam_1_1lambda_1_1binder__obj2__coll__graph.png
structam_1_1lambda_1_1binder__obj2__inherit__graph.map
structam_1_1lambda_1_1binder__obj2__inherit__graph.md5
structam_1_1lambda_1_1binder__obj2__inherit__graph.png
structam_1_1lambda_1_1binder__obj3__coll__graph.map
structam_1_1lambda_1_1binder__obj3__coll__graph.md5
structam_1_1lambda_1_1binder__obj3__coll__graph.png
structam_1_1lambda_1_1binder__obj3__inherit__graph.map
structam_1_1lambda_1_1binder__obj3__inherit__graph.md5
structam_1_1lambda_1_1binder__obj3__inherit__graph.png
structam_1_1lambda_1_1condition__coll__graph.map
structam_1_1lambda_1_1condition__coll__graph.md5
structam_1_1lambda_1_1condition__coll__graph.png
structam_1_1lambda_1_1condition__inherit__graph.map
structam_1_1lambda_1_1condition__inherit__graph.md5
structam_1_1lambda_1_1condition__inherit__graph.png
structam_1_1lambda_1_1detail_1_1is__lambda__op__coll__graph.map
structam_1_1lambda_1_1detail_1_1is__lambda__op__coll__graph.md5
structam_1_1lambda_1_1detail_1_1is__lambda__op__coll__graph.png
structam_1_1lambda_1_1detail_1_1lambda__op__tag__inherit__graph.map
structam_1_1lambda_1_1detail_1_1lambda__op__tag__inherit__graph.md5
structam_1_1lambda_1_1detail_1_1lambda__op__tag__inherit__graph.png
structam_1_1lambda_1_1detail_1_1lambda__val__coll__graph.map
structam_1_1lambda_1_1detail_1_1lambda__val__coll__graph.md5
structam_1_1lambda_1_1detail_1_1lambda__val__coll__graph.png
structam_1_1lambda_1_1pf__memdata_1_1address__of__coll__graph.map
structam_1_1lambda_1_1pf__memdata_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1pf__memdata_1_1address__of__coll__graph.png
structam_1_1lambda_1_1pf__memdata_1_1address__of__inherit__graph.map
structam_1_1lambda_1_1pf__memdata_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1pf__memdata_1_1address__of__inherit__graph.png
structam_1_1lambda_1_1pf__memdata__coll__graph.map
structam_1_1lambda_1_1pf__memdata__coll__graph.md5
structam_1_1lambda_1_1pf__memdata__coll__graph.png
structam_1_1lambda_1_1pf__memdata__inherit__graph.map
structam_1_1lambda_1_1pf__memdata__inherit__graph.md5
structam_1_1lambda_1_1pf__memdata__inherit__graph.png
structam_1_1lambda_1_1var__type1_1_1address__of__coll__graph.map
structam_1_1lambda_1_1var__type1_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1var__type1_1_1address__of__coll__graph.png
structam_1_1lambda_1_1var__type1_1_1address__of__inherit__graph.map
structam_1_1lambda_1_1var__type1_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1var__type1_1_1address__of__inherit__graph.png
structam_1_1lambda_1_1var__type2_1_1address__of__coll__graph.map
structam_1_1lambda_1_1var__type2_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1var__type2_1_1address__of__coll__graph.png
structam_1_1lambda_1_1var__type2_1_1address__of__inherit__graph.map
structam_1_1lambda_1_1var__type2_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1var__type2_1_1address__of__inherit__graph.png
structam_1_1lambda_1_1var__type3_1_1address__of__coll__graph.map
structam_1_1lambda_1_1var__type3_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1var__type3_1_1address__of__coll__graph.png
structam_1_1lambda_1_1var__type3_1_1address__of__inherit__graph.map
structam_1_1lambda_1_1var__type3_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1var__type3_1_1address__of__inherit__graph.png
structam_1_1pointer__to__function__coll__graph.map
structam_1_1pointer__to__function__coll__graph.md5
structam_1_1pointer__to__function__coll__graph.png
tab_b.gif
tab_l.gif
tab_r.gif
latex
annotated.tex
classam_1_1detail_1_1mate__base.tex
classam_1_1detail_1_1mate__base__inherit__graph.eps
classam_1_1detail_1_1mate__base__inherit__graph.md5
classam_1_1detail_1_1simple__ptr__holder.tex
classam_1_1mate.tex
classam_1_1mate_3_01void_01_4.tex
classam_1_1mate_3_01void_01_4__coll__graph.eps
classam_1_1mate_3_01void_01_4__coll__graph.md5
classam_1_1mate__coll__graph.eps
classam_1_1mate__coll__graph.md5
classam_1_1mate__inherit__graph.eps
classam_1_1mate__inherit__graph.md5
classam_1_1ref__holder.tex
classam_1_1ref__holder__coll__graph.eps
classam_1_1ref__holder__coll__graph.md5
doxygen.sty
files.tex
FreeSans.ttf
hierarchy.tex
index.tex
lambda_8hpp.tex
lambda_operations.tex
Makefile
mate_8hpp.tex
mate_basic_usage.tex
mate_class.tex
mate_introduction.tex
mate_references.tex
mate_use_lambda.tex
mate_utility_classes.tex
namespaceam.tex
namespaceam_1_1lambda.tex
namespaces.tex
pages.tex
refman.tex
structam_1_1binder1st.tex
structam_1_1binder1st__coll__graph.eps
structam_1_1binder1st__coll__graph.md5
structam_1_1binder2nd.tex
structam_1_1binder2nd__coll__graph.eps
structam_1_1binder2nd__coll__graph.md5
structam_1_1condition.tex
structam_1_1lambda_1_1binder0.tex
structam_1_1lambda_1_1binder0__coll__graph.eps
structam_1_1lambda_1_1binder0__coll__graph.md5
structam_1_1lambda_1_1binder0__inherit__graph.eps
structam_1_1lambda_1_1binder0__inherit__graph.md5
structam_1_1lambda_1_1binder1.tex
structam_1_1lambda_1_1binder1__coll__graph.eps
structam_1_1lambda_1_1binder1__coll__graph.md5
structam_1_1lambda_1_1binder1__inherit__graph.eps
structam_1_1lambda_1_1binder1__inherit__graph.md5
structam_1_1lambda_1_1binder2.tex
structam_1_1lambda_1_1binder2__coll__graph.eps
structam_1_1lambda_1_1binder2__coll__graph.md5
structam_1_1lambda_1_1binder2__inherit__graph.eps
structam_1_1lambda_1_1binder2__inherit__graph.md5
structam_1_1lambda_1_1binder3.tex
structam_1_1lambda_1_1binder3__coll__graph.eps
structam_1_1lambda_1_1binder3__coll__graph.md5
structam_1_1lambda_1_1binder3__inherit__graph.eps
structam_1_1lambda_1_1binder3__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj0.tex
structam_1_1lambda_1_1binder__const__obj0__coll__graph.eps
structam_1_1lambda_1_1binder__const__obj0__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj0__inherit__graph.eps
structam_1_1lambda_1_1binder__const__obj0__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj1.tex
structam_1_1lambda_1_1binder__const__obj1__coll__graph.eps
structam_1_1lambda_1_1binder__const__obj1__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj1__inherit__graph.eps
structam_1_1lambda_1_1binder__const__obj1__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj2.tex
structam_1_1lambda_1_1binder__const__obj2__coll__graph.eps
structam_1_1lambda_1_1binder__const__obj2__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj2__inherit__graph.eps
structam_1_1lambda_1_1binder__const__obj2__inherit__graph.md5
structam_1_1lambda_1_1binder__const__obj3.tex
structam_1_1lambda_1_1binder__const__obj3__coll__graph.eps
structam_1_1lambda_1_1binder__const__obj3__coll__graph.md5
structam_1_1lambda_1_1binder__const__obj3__inherit__graph.eps
structam_1_1lambda_1_1binder__const__obj3__inherit__graph.md5
structam_1_1lambda_1_1binder__obj0.tex
structam_1_1lambda_1_1binder__obj0__coll__graph.eps
structam_1_1lambda_1_1binder__obj0__coll__graph.md5
structam_1_1lambda_1_1binder__obj0__inherit__graph.eps
structam_1_1lambda_1_1binder__obj0__inherit__graph.md5
structam_1_1lambda_1_1binder__obj1.tex
structam_1_1lambda_1_1binder__obj1__coll__graph.eps
structam_1_1lambda_1_1binder__obj1__coll__graph.md5
structam_1_1lambda_1_1binder__obj1__inherit__graph.eps
structam_1_1lambda_1_1binder__obj1__inherit__graph.md5
structam_1_1lambda_1_1binder__obj2.tex
structam_1_1lambda_1_1binder__obj2__coll__graph.eps
structam_1_1lambda_1_1binder__obj2__coll__graph.md5
structam_1_1lambda_1_1binder__obj2__inherit__graph.eps
structam_1_1lambda_1_1binder__obj2__inherit__graph.md5
structam_1_1lambda_1_1binder__obj3.tex
structam_1_1lambda_1_1binder__obj3__coll__graph.eps
structam_1_1lambda_1_1binder__obj3__coll__graph.md5
structam_1_1lambda_1_1binder__obj3__inherit__graph.eps
structam_1_1lambda_1_1binder__obj3__inherit__graph.md5
structam_1_1lambda_1_1condition.tex
structam_1_1lambda_1_1condition__coll__graph.eps
structam_1_1lambda_1_1condition__coll__graph.md5
structam_1_1lambda_1_1condition__inherit__graph.eps
structam_1_1lambda_1_1condition__inherit__graph.md5
structam_1_1lambda_1_1detail_1_1if__.tex
structam_1_1lambda_1_1detail_1_1is__lambda__op.tex
structam_1_1lambda_1_1detail_1_1is__lambda__op__coll__graph.eps
structam_1_1lambda_1_1detail_1_1is__lambda__op__coll__graph.md5
structam_1_1lambda_1_1detail_1_1lambda__op__tag.tex
structam_1_1lambda_1_1detail_1_1lambda__op__tag__inherit__graph.eps
structam_1_1lambda_1_1detail_1_1lambda__op__tag__inherit__graph.md5
structam_1_1lambda_1_1detail_1_1lambda__val.tex
structam_1_1lambda_1_1detail_1_1lambda__val__coll__graph.eps
structam_1_1lambda_1_1detail_1_1lambda__val__coll__graph.md5
structam_1_1lambda_1_1detail_1_1tr.tex
structam_1_1lambda_1_1detail_1_1tr_3_01var__type1_01_4.tex
structam_1_1lambda_1_1detail_1_1tr_3_01var__type2_01_4.tex
structam_1_1lambda_1_1detail_1_1tr_3_01var__type3_01_4.tex
structam_1_1lambda_1_1pf__memdata.tex
structam_1_1lambda_1_1pf__memdata_1_1address__of.tex
structam_1_1lambda_1_1pf__memdata_1_1address__of__coll__graph.eps
structam_1_1lambda_1_1pf__memdata_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1pf__memdata_1_1address__of__inherit__graph.eps
structam_1_1lambda_1_1pf__memdata_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1pf__memdata__coll__graph.eps
structam_1_1lambda_1_1pf__memdata__coll__graph.md5
structam_1_1lambda_1_1pf__memdata__inherit__graph.eps
structam_1_1lambda_1_1pf__memdata__inherit__graph.md5
structam_1_1lambda_1_1var__type1.tex
structam_1_1lambda_1_1var__type1_1_1address__of.tex
structam_1_1lambda_1_1var__type1_1_1address__of__coll__graph.eps
structam_1_1lambda_1_1var__type1_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1var__type1_1_1address__of__inherit__graph.eps
structam_1_1lambda_1_1var__type1_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1var__type2.tex
structam_1_1lambda_1_1var__type2_1_1address__of.tex
structam_1_1lambda_1_1var__type2_1_1address__of__coll__graph.eps
structam_1_1lambda_1_1var__type2_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1var__type2_1_1address__of__inherit__graph.eps
structam_1_1lambda_1_1var__type2_1_1address__of__inherit__graph.md5
structam_1_1lambda_1_1var__type3.tex
structam_1_1lambda_1_1var__type3_1_1address__of.tex
structam_1_1lambda_1_1var__type3_1_1address__of__coll__graph.eps
structam_1_1lambda_1_1var__type3_1_1address__of__coll__graph.md5
structam_1_1lambda_1_1var__type3_1_1address__of__inherit__graph.eps
structam_1_1lambda_1_1var__type3_1_1address__of__inherit__graph.md5
structam_1_1mate_1_1typed__.tex
structam_1_1mate_3_01void_01_4_1_1typed__.tex
structam_1_1pointer__to__function.tex
structam_1_1pointer__to__function__coll__graph.eps
structam_1_1pointer__to__function__coll__graph.md5
include
mate_src.zip

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

JaeWook Choi
Other
Canada Canada
No Biography provided

| Advertise | Privacy | Mobile
Web03 | 2.8.140905.1 | Last Updated 12 Dec 2006
Article Copyright 2006 by JaeWook Choi
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid