Jason Turner
dce9e17c34
More string_view tweaks
2017-08-25 14:49:44 -06:00
Jason Turner
04902f8209
Use C++17's emplace_back return reference
2017-08-25 12:48:34 -06:00
Jason Turner
e49df4c54d
Move the parser to string_view
2017-08-25 11:17:47 -06:00
Jason Turner
ff70341af2
Avoid conversions to string_view, 2% perf savings
2017-08-24 21:14:05 -06:00
Jason Turner
d115dbfd79
move towards string_view
2017-08-24 20:46:22 -06:00
Jason Turner
9596e15049
Warning / build fixes for gcc7
2017-08-24 18:35:03 -06:00
Jason Turner
9bbe723827
Fix unhandled divide by zero
2017-08-23 21:38:41 -06:00
Jason Turner
7722841294
More if constexpr work
2017-08-23 21:23:18 -06:00
Jason Turner
dd918c524d
Use if constexpr in boxed_number
2017-08-23 20:20:17 -06:00
Jason Turner
8568b61014
Merge branch 'constexpr' of github.com:ChaiScript/ChaiScript into constexpr
2017-08-23 16:13:39 -06:00
Jason Turner
b8b548bab3
more constexpr for parser
2017-08-23 16:10:10 -06:00
Jason Turner
0d76241f77
Avoid capture of constexpr value
2017-08-23 16:08:44 -06:00
Jason Turner
3feb084438
constexpr user_type objects
2017-08-22 22:22:47 -06:00
Jason Turner
ac7af60d76
Make constructors return values, not shared_ptr
2017-08-22 15:54:42 -06:00
Jason Turner
b810e4f7d9
Callable traits constexpr
2017-08-22 13:29:08 -06:00
Jason Turner
ac8f876347
constexpr fixes for Visual Studio
2017-08-22 12:02:42 -06:00
Jason Turner
b51b52dea9
constexpr bind_first
2017-08-22 10:03:26 -06:00
Jason Turner
535c0344b7
Make function constexpr
2017-08-20 13:11:57 -06:00
Jason Turner
ddb2f352cd
Initial simple application of constexpr to API
2017-08-17 11:27:14 -06:00
Jason Turner
58f740844d
Undo perf hit to keyword lookups
2017-08-15 13:17:23 -06:00
Jason Turner
0fc420f69d
Revert "Remove exception specification shared_ptr use"
...
This reverts commit e1cf8b9eb1d59d49149454424ec49bd0d8a3b28f.
2017-08-15 10:13:20 -06:00
Jason Turner
1ca857b890
Satisfy older clangs by adding default ctor
2017-08-11 14:20:17 -06:00
Jason Turner
710b3c4003
Fix instantiation of Static_String for older compilers
2017-08-11 08:57:44 -06:00
Jason Turner
ca8f78ff89
JSON noexcept updates
2017-08-10 22:22:13 -06:00
Jason Turner
73d543eef0
Make operator lookup noexcept
2017-08-10 20:32:39 -06:00
Jason Turner
5ba155e058
Make operators noexcept (removing std::vector usage)
2017-08-10 19:52:32 -06:00
Jason Turner
5d56051532
Various noexcept additions
2017-08-10 19:47:03 -06:00
Jason Turner
e1cf8b9eb1
Remove exception specification shared_ptr use
2017-08-10 10:28:16 -06:00
Jason Turner
7986ea08b6
More work towards all noexcept, warning cleanups
2017-08-09 14:36:45 -06:00
Jason Turner
34534c1386
Changes that noexcept want to happen
2017-08-08 17:06:36 -06:00
Jason Turner
171765cfdb
Add back in extent capture
2017-08-06 18:19:43 -06:00
Jason Turner
7f6f1d8a59
Fix clang warnings, fix misplaced noexcept
2017-07-31 16:12:16 -06:00
Jason Turner
3f8b697e9e
Fix windows noexcept build
2017-07-23 07:38:20 -06:00
Jason Turner
e07cd88659
Add noexcept where appropriate
...
This modifies no logic, it simply adds the keyword `noexcept`
I believe this is 100% correct. It calls methods that are not
guaranteed to be `noexcept`, such as `operator[]` but have
no logically way of throwing.
2017-07-22 20:33:30 -06:00
Jason Turner
755f650a8d
strip noexcept
2017-07-21 05:44:20 -06:00
Jason Turner
ef333e491a
remove existing constexpr
2017-07-20 21:16:54 -06:00
Jason Turner
f465d2ceca
Make sure to not deref null parse node
2017-07-20 06:10:31 -06:00
Jason Turner
14eaefdceb
Make front() back() checked
2017-07-19 15:52:34 -06:00
Jason Turner
f03659c865
More careful testing of 'for' parses
2017-07-19 13:19:36 -06:00
Jason Turner
b42316a275
More careful with json errors
2017-07-19 13:19:17 -06:00
Jason Turner
d8da295e40
Check string accesses during JSON parsing
2017-07-19 10:47:17 -06:00
Jason Turner
cfb2e663d3
Fix unhandled exception found via libfuzzer
2017-07-19 10:09:44 -06:00
Jason Turner
ea03a5462f
Wrap up build issues for dropping of shared_ptr
2017-07-18 16:58:09 -06:00
Jason Turner
77315ae4b9
Fix non-shared_ptr tree code
2017-06-22 09:32:49 -06:00
Jason Turner
5a5600914c
Move away from shared_ptr for parse nodes
2017-06-21 21:27:48 -06:00
Jason Turner
36e61dec0a
Fix defaults for dynload options
2017-06-06 14:59:05 -06:00
Jason Turner
bdd0a12bb7
ChaiScript can only support static in non-threading mode
2017-05-31 14:18:30 -06:00
Jason Turner
3b48983bc2
Revert "Add workaround for chaiscript used as static"
...
This reverts commit a281d9571e00788784a10bdae054f92cb3e3fb1a.
2017-05-31 13:54:45 -06:00
Jason Turner
bd736eddec
Deprecate GLOBAL #247
2017-05-30 11:33:12 -06:00
Jason Turner
9f8b57c145
Enable ChaiScript compilation for C++17
...
Closes #348
This works by taking into account the fact that `noexcept` is now part
of the type system in C++17. However, this would conflict with pre-C++17
compilers, so I have added a feature macro around it
2017-05-30 09:16:20 -06:00