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.
 
 
 
 
dehnert 342356ceb1 minor fixes to make storm work with boost 1.62 9 years ago
..
LICENSE.txt adding cpptemplate library 10 years ago
README.rst adding cpptemplate library 10 years ago
cpptempl.cpp adding cpptemplate library 10 years ago
cpptempl.h minor fixes to make storm work with boost 1.62 9 years ago
cpptempl_test.cpp adding cpptemplate library 10 years ago
unit_testing.h adding cpptemplate library 10 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 ;
person["name"] = "Bob" ;
person["occupation"] = "Plumber" ;

cpptempl::data_map content ;
content["person"] = person ;
content["friends"].push_back("Alice") ;
content["friends"].push_back("Bob") ;
string result = parse(text, data) ;