Google CTemplate提供了调节器(Modifier)功能。所谓调节器,类似于在模板中可以使用的用户自定义函数,也就是对于相同的数据字典内容,模板中使用不同的调节器就可以显示不同的内容。

要编写一个调节器,需要从template_modifiers::TemplateModifier派生一个类:

Code

BitString 调节器的作用是将数值型数据转换为二进制字符串显示。其在模板中的使用如下所示:

bstr = bstr + '{{item_type3id:x-bitstring=4}}'b;

用户自定义的调节器一般采用“x-”开头。调节器可以带有用户参数,例如上例的“=4”就是用户参数,表示生成的二进制串的长度为4,如果不足4位,前面自动补0

调节器的主要功能是在Modify函数中实现的,在该函数中调用outbuf->Emit函数来输出所需要的结果。

Code

 

要在程序中支持调节器,还需要调用google::template_modifiers::AddModifier函数添加BitStringModifier的实例。如:

Code
posted on 2008-10-15 21:58  zealsoft  阅读(846)  评论(0编辑  收藏  举报