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.
 
 
 
 
Tim Quatmann 890dca30cf Nativepolytope: When intersecting, check easy cases where one of the polytopes are universal first. This also prevents that an internal Eigen assertion is raised in cases where an empty and a non-empty matrix are concatenated (somehow only relevant for gcc 9.3 in debug mode...). 6 years ago
..
LICENSE.txt adding cpptemplate library 10 years ago
README.rst update cpptemplate to slightly fixed version 10 years ago
cpptempl.cpp update cpptemplate to slightly fixed version 10 years ago
cpptempl.h Added virtual destructors in cpptempl 7 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_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") ;