Commit Graph

233 Commits

Author SHA1 Message Date
Mark Hollomon
a5862a04dc Fix for issue #82 - Nested loops (#84)
* Fix for issue #82 - Nested loops

I made the following changes in renderer.hpp
- Removed the member LoopLevel::it - it was not being used and was
causing issues.
- Added LoopLevel::loop_type with a matching enum class to mark the loop
as looping on either a Map or an Array. This was to replace the hard to
understand test for key_name.empty().
- Modified update_loop_data to get the correct data for map type loops
when copying in outer loop control data.
- Modified update_loop_data to only copy in the outer loop data during
StartLoop, it does not need to be done at EndLoop and can be expensive
since it can copy a large part of the json tree.

All the tests pass and the test cases from the issue also now work. Both
GCC and Clang will compile and run the tests with no issue. No issue is
seen with address_sanitizer in either compiler.

* Remove forgotten debugging code.
2019-01-27 10:15:40 +01:00
Guillaume Racicot
11d07f5eff Added install target and cmake package exports (#83) 2019-01-26 21:15:25 +01:00
Mark Hollomon
1dfd86fa6f Fix for issue #80 (#81)
* Fix for issue #80

When updating the `opening_chars`, line_statment was forgotten. So, a
change to any of the openers would cause line statements to start being
unrecognized.

I added a unit test to cover this case.

* fix indentation

* add update to single_include
2019-01-23 19:18:47 +01:00
Lars Berscheid
2c98adbcf7 remove appveyor test 2019-01-22 11:04:00 +01:00
pantor
e63411568c fix appveyor build 2019-01-21 21:48:11 +01:00
pantor
5553ee7526 add older compilers 2019-01-21 21:42:52 +01:00
pantor
dbcd5265fc add string_view polyfill 2019-01-21 21:34:34 +01:00
pantor
5d99c2b703 ignore most warnings in appveyor 2019-01-21 19:01:23 +01:00
pantor
41857c2c83 add line break 2019-01-20 09:51:53 +01:00
pantor
87ab78acf0 add link to documentation 2019-01-20 09:49:52 +01:00
pantor
3221fbef7e fix directory doxygen 2019-01-19 18:32:23 +01:00
pantor
75582236d8 finalize2 travis.yml 2019-01-19 17:56:26 +01:00
pantor
fdf1c126a9 finalize travis.yml 2019-01-19 17:51:35 +01:00
pantor
aa8929c5e5 update travis.yml 2019-01-19 17:44:22 +01:00
pantor
0382e61bbd update travi.yml 2019-01-19 17:40:08 +01:00
pantor
98d6854e1f update travis.yml 2019-01-19 17:26:56 +01:00
pantor
cab491ae2b Merge branch 'master' of https://github.com/pantor/inja 2019-01-19 17:17:46 +01:00
pantor
4df7f9dd35 update travis 2019-01-19 17:17:14 +01:00
Tim
0bff74666e Change std::stringstream& to std::ostream& in render_to() (#76)
* Change std::stringstream& to std::ostream& in render_to()

Fixes #75

* Expose render_to

* Update readme with example of render_to
v2.0.1
2019-01-10 14:39:12 +01:00
pantor
210848bb98 Readme fix write_with_json_file 2019-01-08 17:09:11 +01:00
Lars Berscheid
02b8355081 update single include file 2019-01-07 16:46:25 +01:00
Lars Berscheid
a9d4ca9a4e fix string view reference movement in bytecode 2019-01-07 16:41:16 +01:00
pantor
699c207c8c Inja v2 (#67)
* inja2

* header only

* reduce dependencies

* code cleaning

* c++17

* use stdc++

* code cleaning

* infrastructure

* header only

* add infrastructure

* fix tests

* use minimum clang 6

* code cleaning, polyfill for c++11

* fix some file tests

* fix readme

* update appveyor

* fix polyfill and ci

* fix polyfill

* fix ci?

* test msvc __cplusplus

* add doxygen

* activate all tests

* code cleaning

* add coveralls, set default to dot notation

* add html test

* add doxygen comments

* test single_include file

* change build folder in appveyor

* correct make arguments in appveyor

* fix appveyor arguments
v2.0.0
2018-12-23 16:13:15 +01:00
pantor
d90f93fda0 optional benchmark 2018-12-14 19:31:40 +01:00
pantor
6bae3a7d5a update readme 2018-12-14 18:04:39 +01:00
pantor
595076ebec split dev files and amalgamate into a single header 2018-12-14 18:03:45 +01:00
pantor
e44c2372e1 code cleaning 2018-11-23 18:03:51 +01:00
pantor
0f1f57a8a3 fix cmake build for benchmark 2018-11-23 17:57:05 +01:00
pantor
7dbdd44b0e add benchmark, add hayai 2018-11-21 21:29:36 +01:00
pantor
5021b220b0 update to json 3.4.0 2018-11-11 14:38:00 +01:00
pantor
b66f2d23aa add type checks: isString, ... 2018-11-11 14:34:35 +01:00
pantor
bac1771d42 clearer integration 2018-11-11 14:10:03 +01:00
pantor
84faa3a31d allow more flexible whitespaces 2018-11-11 14:09:55 +01:00
pantor
d6cfbd0f07 undo cmake version 2018-08-29 19:40:50 +02:00
pantor
65cc971e21 Merge branch 'master' of https://github.com/pantor/inja 2018-08-29 19:31:55 +02:00
pantor
a496ec9585 update to json 3.2 and catch 2.3, clean cmake 2018-08-29 19:31:37 +02:00
pantor
6afdf700cb Fix division by zero warning (#61) 2018-08-09 12:41:56 +02:00
Tian Jin
4eaeb2b182 Update CMakeLists.txt (#59) 2018-07-27 13:35:47 +02:00
Tian Jin
a06207b64b Update CMakeLists.txt (#58) 2018-07-25 07:44:54 +02:00
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
4ccc2e62ec Merge pull request #48 from pantor/include-json-in-inja 2018-05-15 21:55:14 +02:00
pantor
3c8823a3fa Merge branch 'master' into in-memory-includes 2018-05-15 20:25:58 +02:00
pantor
71cfb21e61 include nlohmann/json in inja directly 2018-05-15 20:23:09 +02:00
pantor
0029a130ab clean meson file 2018-05-15 20:03:15 +02:00
pantor
394610b002 order includes 2018-05-15 19:52:41 +02:00
pantor
c8d3d720c8 add in-memory includes via include_template (#47) 2018-05-14 20:48:28 +02:00
pantor
cb18e2cd0c add in-memory includes via include_template 2018-05-14 20:21:29 +02:00