Commit graph

29 commits

Author SHA1 Message Date
Daniel Kolesa dc507f80dd make thread safety a compile-time toggle 2022-04-21 04:54:47 +02:00
Daniel Kolesa 12bd267efc implement atomic variable storage
Variable values are global, and can be accessed concurrently
from different cubescript threads. Make storage of var values
atomic so that it is safe to do so. This is done with a simple
load-store wrapper. It does not do any other operations on the
values, so we can handle floats and pointers this way as well.
Floats are simply stored in the smallest integer type that can
fully fit the float.
2022-04-21 04:08:44 +02:00
Daniel Kolesa 0a432d2f19 document values 2021-04-22 05:20:59 +02:00
Daniel Kolesa e7578f7e17 document error, ident 2021-04-20 02:52:27 +02:00
Daniel Kolesa 816d6e521d support user conf file 2021-04-15 20:40:34 +02:00
Daniel Kolesa 84f6d1f0d6 make std::span user replaceable
this will allow usage on some older compilers for those who want it
2021-04-15 20:27:24 +02:00
Daniel Kolesa 8b1aaa63fe add initial doxygen documentation infra 2021-04-15 02:42:06 +02:00
Daniel Kolesa 4da0cb54a8 use format contants in default ivar/fvar/svar handlers 2021-04-06 21:23:17 +02:00
Daniel Kolesa ddb0799213 minor cleanups 2021-04-03 05:46:05 +02:00
Daniel Kolesa 21aec59ad3 rename namespace to cubescript 2021-03-23 23:32:25 +01:00
Daniel Kolesa b9b344cba6 remove cs_ namespace in all API 2021-03-23 23:29:32 +01:00
Daniel Kolesa 63251f0eac add cs_callable to replace std::function
now function data can be allocated with our own allocator as
well, plus we get guarantees on small storage; this type is
move-only, and it's also more memory efficient than std::function,
at least the libstdc++ implementation
2021-03-22 01:01:51 +01:00
Daniel Kolesa 10b2a81cec redo (un)escape_string around output iterators 2021-03-20 06:18:31 +01:00
Daniel Kolesa 320fdbaefd use c++20 std::span 2021-03-20 05:41:25 +01:00
Daniel Kolesa d3ec4a47dd ditch cs_string from public headers + style fix 2021-03-18 23:56:25 +01:00
Daniel Kolesa 6ed9ae1235 get rid of standard i/o inside vm 2021-03-18 00:03:30 +01:00
q66 c2a86f1625 build fix 2017-02-16 20:03:08 +01:00
q66 9b4ea3e765 replace removed PointerRange 2017-02-14 17:41:15 +01:00
q66 41eb8b211f begin naming scheme rework 2017-02-13 18:11:19 +01:00
q66 d88e9de11a use unordered_map 2017-01-31 19:28:34 +01:00
q66 d2d262afbd note about std::function 2017-01-29 19:31:04 +01:00
q66 e624f98be7 remove allocator support for callbacks 2017-01-29 18:33:02 +01:00
q66 0307085c30 CsString is not configurable 2016-11-13 20:49:22 +01:00
q66 ed65356dbe automagically figure out CsInt minimum and add some extra assertions 2016-11-12 19:15:28 +01:00
q66 58b8f3ba54 make some types not configurable 2016-11-11 22:19:51 +01:00
q66 987d00b933 CsStream is not a thing anymore 2016-10-30 20:29:23 +01:00
q66 845232605d remove the out stream and re-do the var printing system 2016-09-15 21:59:11 +02:00
q66 cbafbe0fc2 remove the CsAllocator stuff 2016-09-10 17:38:35 +02:00
q66 cdb5a5f6f8 source tree reorg 2016-09-07 22:57:28 +02:00
Renamed from cubescript_conf.hh (Browse further)