You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
TimQu 8b2b0008da The stack check issue has been fixed in newer AppleClang versions. Thus, we no longer have to disable stack checks for AppleClang 11.0.3 or higher. 5 years ago
..
LICENSE.txt adding cpptemplate library 9 years ago
README.rst update cpptemplate to slightly fixed version 9 years ago
cpptempl.cpp update cpptemplate to slightly fixed version 9 years ago
cpptempl.h Added virtual destructors in cpptempl 7 years ago
cpptempl_test.cpp adding cpptemplate library 9 years ago
unit_testing.h adding cpptemplate library 9 years ago

README.rst

cpptempl

=================
This is a template engine for C++.

Copyright
==================
Author: Ryan Ginstrom
MIT License

Syntax
=================

Variables::

{$variable_name}

Loops::

{% for person in people %}Name: {$person.name}{% endfor %}

If::

{% if person.name == "Bob" %}Full name: Robert{% endif %}


Usage
=======================

Define a template::

string text = "{% if item %}{$item}{% endif %}\n"
"{% if thing %}{$thing}{% endif %}" ;

Set up data::

cpptempl::data_map data ;
data["item"] = "aaa" ;
data["thing"] = "bbb" ;

Parse the template and data::

string result = cpptempl::parse(text, data) ;

Lists, nested maps
========================

Example::

cpptempl::data_map person_data ;
person_data["name"] = "Bob" ;
person_data["occupation"] = "Plumber" ;

cpptempl::data_map content ;
content["person"] = person_data ;
content["friends"].push_back("Alice") ;
content["friends"].push_back("Bob") ;