Commit Graph

108 Commits

Author SHA1 Message Date
Erik Partridge
360228eabf Fix the std::transform bug (#56)
https://stackoverflow.com/questions/16792456/no-matching-function-for-call-to-transform

This is a fix for using toupper and tolower with std::transform
2018-06-26 09:40:12 +02:00
Maxime Pinard
32ca238c23 Made unmodified variables const (#55)
* Removed intermediate variable

* Made some unmodified variables const
2018-05-23 07:45:05 +02:00
pantor
0898b1c302 use loop object for loop variables 2018-05-22 22:52:55 +02:00
Maxime Pinard
1dc3267c02 Typo corrections (#51) 2018-05-22 22:29:51 +02:00
pantor
71cfb21e61 include nlohmann/json in inja directly 2018-05-15 20:23:09 +02:00
pantor
394610b002 order includes 2018-05-15 19:52:41 +02:00
pantor
cb18e2cd0c add in-memory includes via include_template 2018-05-14 20:21:29 +02:00
Samuel Leweke
1cb6b15cca Add exists() function that checks existence of key (#38)
* Add exists() function that checks existence of key

Adds an exists() function that checks whether a given key exists in the
data. If only one argument is provided to exists(), the global data is
queried for the item. If two arguments are given, the first argument
specifies the object to query for the key given as second argument.

Also adds corresponding unit tests and updates README for
documentation.

* Split exists() into exists() and existsIn()

Splits the exists() function, which previously took both one or two
arguments, into an exists() function accepting one and an existsIn()
function accepting two arguments.
2018-04-02 15:54:00 +02:00
pantor
138e0da339 add STL containers support for Templates (issue #42) 2018-04-02 15:49:59 +02:00
pantor
8d21a9dae9 multiple render optimizations 2018-04-02 15:43:32 +02:00
pantor
e339da7e2b Use references 2018-03-20 17:00:33 +01:00
pantor
73a40cf1b1 fix mac os x callback without parent bug 2018-03-20 16:36:11 +01:00
pantor
e38df0931f Fix line statements 2018-03-19 12:20:12 +01:00
pantor
561f8cf59e Catch some errors for conditional parsing 2018-03-19 11:43:19 +01:00
pantor
1766793fd5 Allow index in nested loops 2018-03-19 11:09:23 +01:00
pantor
776af96b0b Use callbacks without parameters either with or without parenthesis 2018-03-19 10:46:49 +01:00
pantor
44f7461a8a allow empty lists for loops 2018-03-19 10:30:26 +01:00
pantor
b458ed576d pass json data as reference 2018-03-16 10:24:27 +01:00
Ludek Vodicka
f67767a6b2 Fixed warning in 64-bit windows build (#24)
* Fixed passing callback arguments as reference

* Another passing as const reference instead of new instance

* Implemented variable number of parameters
-  extended function "function_regex" to pass minimum and maximum parameters. if minimum=maximum, all params are required, if minimum = 0, all params are optional.....
- for single parameter there is different regex (created by the same function_regex function) to allo read sort([1,2,3]) as one parameter
- extended Match to test if group is valid, so only valid params are filled to params vector
- new function arguments_count to test number of arguments passed to callback

* unit tests for updated callbacks with variable number of params

* merge with last version

* Optimized passing arguments as const reference

* Fixed warning on 64-bit windows (conversion from 'size_t' to 'int', possible loss of data)
2018-03-09 14:43:56 +01:00
pantor
99d3cd1ddf better loop error message 2018-03-01 14:36:09 +01:00
pantor
6f7fad983d add float and int string conversion 2018-03-01 11:29:56 +01:00
Ludek Vodicka
6e5167d68b Another optimization of passing arguments as reference (#23)
* Fixed passing callback arguments as reference

* Another passing as const reference instead of new instance

* Implemented variable number of parameters
-  extended function "function_regex" to pass minimum and maximum parameters. if minimum=maximum, all params are required, if minimum = 0, all params are optional.....
- for single parameter there is different regex (created by the same function_regex function) to allo read sort([1,2,3]) as one parameter
- extended Match to test if group is valid, so only valid params are filled to params vector
- new function arguments_count to test number of arguments passed to callback

* unit tests for updated callbacks with variable number of params

* merge with last version

* Optimized passing arguments as const reference
2018-03-01 11:19:21 +01:00
pantor
097ebf1f90 fix search_closed_on_level if nothing was found 2018-02-28 12:42:39 +01:00
pantor
7e32e8bcfe use central throw function 2018-02-24 14:50:38 +01:00
pantor
86f310038d code cleaning 2018-02-24 12:48:26 +01:00
pantor
2ae161b4bd make renderer private in env 2018-02-23 23:47:09 +01:00
pantor
e522903440 move json parsing and element_notation in parser 2018-02-23 20:26:01 +01:00
pantor
c29fd9189d allow callbacks with the same name but different number of arguments 2018-02-23 20:07:04 +01:00
pantor
49b396c20b sort code where it makes sense 2018-02-23 19:46:26 +01:00
lbersch
8f1ac50117 Merge pull request #14 from ludekvodicka/master
Removed unused variable to remove compiler warnings
2018-02-23 17:00:47 +01:00
LUDA-PC\ludek.vodicka
2cc9ba2562 Removed unused "exception" variable to remove compiler warnings (warning C4101: 'exception': unreferenced local variable) 2018-02-23 15:47:39 +01:00
pantor
c5ea89c87e correct write template 2018-02-23 15:45:34 +01:00
lbersch
b6d464a153 Merge pull request #11 from ludekvodicka/master
Few more warnings fixes
2018-02-23 15:24:13 +01:00
pantor
221b59d364 use at for json pointer, fix errors 2018-02-23 14:51:48 +01:00
pantor
08a79d6e7c replace all string += with append 2018-02-23 14:34:58 +01:00
pantor
577301773d add version definitions 2018-02-23 12:44:21 +01:00
pantor
ffe25364c0 add copyright header to inja.hpp 2018-02-23 12:43:07 +01:00
LUDA-PC\ludek.vodicka
8f4cec2b2d Optimization of json params as const-reference instead of creating new json object 2018-02-23 12:22:29 +01:00
LUDA-PC\ludek.vodicka
85586245a5 Few more warnings fixes 2018-02-23 11:58:40 +01:00
pantor
74ad4281ed fix render file/template bug 2018-02-20 10:20:26 +01:00
pantor
9f97c9add1 add sort function 2018-02-18 19:41:56 +01:00
pantor
37d16d3c3a min, max functions 2018-02-18 19:34:16 +01:00
pantor
c886c89131 add map loops 2018-02-18 19:24:49 +01:00
pantor
98aed90e02 argument default json 2018-02-18 18:59:24 +01:00
pantor
f931a95800 use get_argument function in callbacks 2018-02-18 18:56:35 +01:00
pantor
b57a747ef2 add default function 2018-02-18 11:50:14 +01:00
pantor
03d3414968 Merge branch 'master' into callbacks 2018-02-17 15:53:57 +01:00
pantor
f2315cbec9 use underscore notation for variables and functions 2018-02-17 15:50:07 +01:00
pantor
ee2451edae add callbacks 2018-02-17 14:06:38 +01:00
pantor
ae5ddb3b79 use tabs, not spaces 2018-02-17 12:05:44 +01:00