diff options
Diffstat (limited to 'examples/cxx/serializer/polyroot/supermen-simpl-mixin.hxx')
-rw-r--r-- | examples/cxx/serializer/polyroot/supermen-simpl-mixin.hxx | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/cxx/serializer/polyroot/supermen-simpl-mixin.hxx b/examples/cxx/serializer/polyroot/supermen-simpl-mixin.hxx new file mode 100644 index 0000000..9f9f37c --- /dev/null +++ b/examples/cxx/serializer/polyroot/supermen-simpl-mixin.hxx @@ -0,0 +1,35 @@ +// file : examples/cxx/serializer/polyroot/library-simpl-mixin.hxx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : not copyrighted - public domain + +#ifndef SUPERMEN_SIMPL_HXX +#define SUPERMEN_SIMPL_HXX + +#include "supermen.hxx" +#include "supermen-sskel.hxx" + +struct person_simpl: virtual person_sskel +{ + virtual void + pre (const person&); + + virtual std::string + name (); + +protected: + const person* person_; +}; + +struct superman_simpl: virtual superman_sskel, person_simpl +{ + virtual bool + can_fly (); +}; + +struct batman_simpl: virtual batman_sskel, superman_simpl +{ + virtual unsigned int + wing_span (); +}; + +#endif // SUPERMEN_SIMPL_HXX |