1 #ifndef AWFUL_ABF_WRITE_CLASS_H
2 #define AWFUL_ABF_WRITE_CLASS_H
4 namespace awful
{ namespace abfImpl
6 template< class EP
, class C
> struct ClassVisitor
8 ClassVisitor( WriteContext
< EP
>& wc_
, const C
* pObj_
) :
14 template< class SC
> void declSuperClass()
16 // crc.writeU8( '(' );
17 // crc.writeU32( class_traits< SC >::Digest() );
18 class_traits
< SC
>::template VisitSuperClasses( *this );
19 // crc.writeU8( ')' );
22 template< typename AttrTag
> void declAttribute()
24 // crc.writeU32( attribute_traits< C, AttrTag >::Digest() );
25 std::cout
<< "saving attribute " << attribute_traits
< C
, AttrTag
>::Name() << std::endl
;
29 WriteContext
< EP
>& wc
;
33 template< class EP
, class C
> void saveObj( WriteContext
< EP
>& wc
, const C
* pObj
)
35 std::cout
<< "ljhiu\n";
36 ClassVisitor
< EP
, C
> cv( wc
, pObj
);
37 class_traits
< C
>::template VisitSuperClasses( cv
);
38 class_traits
< C
>::template VisitAttributes( cv
);