简介:google ctemplate:简单易用的文字模板 收藏
CTemplate 是一个简单实用、功能强大的文字模板(template language),适用于使用C++语言开发的应用程序。 其解决的主要问题是将文字表达和逻辑分离开来:文字模板解决如何用合适的文字和形式来表达的问题,而逻辑问题则由文字模板的调用者在源代码中完成。
下面有一个简单的例子让我们初步了解其概念,介绍了如何在你的程序中应用CTemplate:
首先创建一个模板文件,命名为example.tpl,以文本方式输入以下内容:
{{ NAME }}你好 ,
恭喜你中奖了,奖金总额是:$ {{ VALUE }}!
{{ #IN_CA}}您应缴纳的税金总额为: ${{TAXED_VALUE}}。 {{/IN_CA}}
在C++程序中我们可以这样调用:
#include <stdlib.h>
#include <string>
#include <iostream>
#include <google/template.h>
int main ( int argc , char ** argv ) {
google :: TemplateDictionary dict ( "example" );
dict . SetValue ( "NAME" , "John Smith" );
int winnings = rand () % 100000 ;
dict . SetIntValue ( "VALUE" , winnings );
dict . SetFormattedValue ( "TAXED_VALUE" , "%.2f" , winnings * 0.83 );
// For now, assume everyone lives in CA.
// (Try running the program with a 0 here instead!)
if ( 1 ) {
dict . ShowSection ( "IN_CA" );
}
google :: Template * tpl = google :: Template :: GetTemplate ( "example.tpl" ,
google :: DO_NOT_STRIP );
std :: string output ;
tpl -> Expand (& output , & dict );
std :: cout << output ;
return 0 ;
}
如果你感兴趣的话可以参考完整的帮助文档:How To Use the Google Template System
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aladdina/archive/2009/09/08/4531736.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aladdina/archive/2009/09/08/4531736.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aladdina/archive/2009/09/08/4531736.aspx
分享到:
相关推荐
ctemplate库最初由Google开发并维护,广泛应用于Web应用程序、服务器端脚本以及需要生成复杂文本输出的任何C++项目。 **ctemplate库的核心功能:** 1. **模板解析**:ctemplate库能够解析包含占位符的文本模板文件...
CTemplate是一种简单但功能强大的模板引擎,它是Google制作的一个开源C++库,广泛用于各种HTML模板解析和生成。CTemplate的主要优点是简单和灵活。它将模板和逻辑分开,使得页面布局和细节(HTML)与控制流、条件等...
选择使用ctemplate,通常是因为对Google开源项目的信任,以及对简单高效模板渲染的需求。 总之,ctemplate是一个实用的C++后端渲染库,适合于构建高性能的Web应用或服务,通过其简洁的API和高效性能,为开发者提供...
C模板 <1KB的轻量级,快速且强大JavaScript模板引擎,零依赖。 与node.js之类的服务器端环境,RequireJS之类的模块加载器以及所有Web浏览器兼容。 它受到“ trimpath”引擎的启发,但是在我的测试中,该引擎的...
**ctemplate模版引擎**是谷歌开发的一款强大的模板引擎,主要设计用于生成动态HTML内容,尤其是在Web应用程序开发中。它采用C++编写,提供了一种高效、灵活的方式来将数据与HTML模板结合,生成最终的静态网页。...
CTemplate,全称为Google CTemplate,是由Google开发的一个C++模板引擎,设计目的是为了提供一种高效且简单的机制,用于分离应用程序的逻辑与视图层的呈现。它允许开发者在C++代码中定义模板,然后在运行时动态地...
**谷歌ctemplate开源库详解** 谷歌的`ctemplate`是一个高度优化且易于使用的C++模板库,它专注于提供一种简洁而强大的模板语言,用于生成HTML或其他格式的文本输出。这个库的设计理念是将数据(模型)和显示(视图...
`ctemplate` 的设计目标是提供一种简单、高效且灵活的方式来处理动态内容生成,避免硬编码字符串,提高代码的可读性和可维护性。 在"ctemplate-update-bin-20171130"这个压缩包中,包含了2017年11月30日最新的`...
web-mode.el与许多模板引擎兼容:PHP,JSP,ASP,Django,Twig,Jinja,Mustache,ERB,FreeMarker,Velocity,Cheetah,Smarty,CTemplate,Mustache,Blade,ErlyDTL,Go Template,Dust.js ,Google Closure...
ctemplate-python 这是由 Stephen C. Losen ( ) 编写的优秀 C 模板库 1.0 的 Python 端口。 在 GPL 下分发。 要安装类型 sudo python setup.py install。 有关使用案例,请参阅 useTemplate.py。 为什么要使用它?...
中文的C Template的教学指南。与知名书籍C Templates不同,该系列教程将C Templates作为一门图灵完备的语言来讲授,以求帮助读者对Meta-Programming融会贯通。
它具有简单而强大的模板语法,其中包含您需要的所有变量,循环,条件,包含,回调和注释,并根据需要进行嵌套和组合。 Inja使用nlohmann的精彩库进行数据输入。 最重要的是,inja只需要两个头文件,(几乎)与C ++...
《TMS320F280049C工程模板详解》 TMS320F280049C是一款由Texas Instruments(TI)公司推出的高性能数字信号处理器(DSP),它在嵌入式系统领域有着广泛的应用,尤其在实时控制、通信和信号处理等场景中表现出色。这...
DustJS 是一个支持浏览器和 Node.js 的异步模板引擎。特点:async/streaming operationbrowser/node compatibilityextended Mustache/ctemplate syntaxclean, low-level APIhigh performancecomposable templates ...
ctemplate-0.5这个文件名可能是该开源项目的某个版本,可能包含头文件、源代码、示例、文档和构建脚本等。在这个版本中,用户可以期待找到以下组件: 1. **头文件**:提供模板库的接口定义,开发者可以引用这些...
数据结构各种算法实现(C 模板) The data structures of various algorithms (C template)
4. **ctemplate.h**:与ctemplate.c相对应,定义了模板处理相关的函数和数据结构,供开发者在代码中引用。 使用CGIC开发包的步骤通常包括以下几点: 1. **包含头文件**:在C源文件中,首先需要`#include "cgic.h"`...
- 使用了一系列开源技术,如ICE通信框架、MySQL数据库、Memcache内存缓存、Google Protobuf序列化、Quicklz压缩库、Boost multi-index container、Tokyo Tyrant键值存储引擎、Google Ctemplate模板引擎、Nginx+...
通过对这个文件的深入研究,开发者可以了解到具体的实现细节,包括如何定义模板语法、如何解析和执行模板,以及如何将C++对象绑定到模板变量等。此外,这个文件可能还包含了一些示例或者测试用例,帮助用户更好地...