Thomas Harte
c982c78285
Ensures Reflection::set is widely available.
2020-06-27 16:26:01 -04:00
Thomas Harte
b4cdf8d987
Separates runtime TypeInfo into its own header.
2020-06-27 15:53:06 -04:00
Thomas Harte
c953ab09db
Ensures overloaded assignments work.
2020-06-20 00:17:16 -04:00
Thomas Harte
73131735fa
Further qmake warning corrections.
2020-05-30 19:31:17 -04:00
Thomas Harte
267006782f
Starts to add Qt target; resolves many build warnings.
2020-05-30 00:37:06 -04:00
Thomas Harte
1308f119a6
Relocates cassert.
2020-05-26 23:07:26 -04:00
Thomas Harte
51d684820f
Attempts to add array support to ::set and BSON deserialisation.
2020-05-26 22:55:55 -04:00
Thomas Harte
023d76a3e7
Permits int truncation, adds double decoder. Arrays still TODO.
2020-05-26 22:20:15 -04:00
Thomas Harte
4d34d9ae2b
Implements BSON deserialisation, other than arrays.
2020-05-25 23:39:00 -04:00
Thomas Harte
c83c827484
Adds necessary header for math.
2020-05-24 12:19:20 -04:00
Thomas Harte
b8b880a91d
Extends encoding to handle vector<uint8_t>, floats and doubles.
2020-05-24 01:20:48 -04:00
Thomas Harte
bb2f21a22e
Encodes enumerated values as strings.
2020-05-23 22:54:43 -04:00
Thomas Harte
b3587d4cde
Corrects: logic for int promotion, object sizes, int64_t gets, sizes prefixed to objects.
2020-05-22 23:38:07 -04:00
Thomas Harte
39ffe45f3c
Attempts to add support for arrays.
2020-05-22 21:55:12 -04:00
Thomas Harte
d36e592afb
Starts towards BSON serialisation for all deflectable structs.
...
Still to be tackled: arrays, enumerated types should probably be encoded as strings, deserialisation, probably distinguish get and fuzzy_get...
2020-05-22 00:31:40 -04:00
Thomas Harte
a16b710d22
Removes <cassert> from Struct.h (which means it's needed in the 68000's State).
2020-05-19 00:06:29 -04:00
Thomas Harte
375835a950
Extends .description()
to handle arrays.
2020-05-14 23:58:17 -04:00
Thomas Harte
4481386a3d
Extends Reflection::Struct
slightly to capture the lengths of arrays.
2020-05-14 22:59:44 -04:00
Thomas Harte
4f619de675
Permits ::get from a reflective enum to an int.
2020-05-13 23:48:28 -04:00
Thomas Harte
4c6d0f7fa0
Corrects SConstruct; applies default initialisation in Struct.cpp.
2020-05-09 18:11:50 -04:00
Thomas Harte
cb1970ebab
Switch to more compact form of output for bool.
...
This also will hopefully deal with GCC's slightly confused claim that 'value' may be used without having been initialised down at #define OutputIntC (i.e. after it's out of scope, but I can sort of see why GCC might get confused while it remains in scope).
2020-04-12 14:40:32 -04:00
Thomas Harte
2f4b0c2b9a
Removes non-functional assert.
2020-03-30 21:48:07 -04:00
Thomas Harte
a491650c8b
Adds safety asserts.
2020-03-30 21:39:31 -04:00
Thomas Harte
6805acd74f
Adds padding for all integer types.
2020-03-30 00:31:25 -04:00
Thomas Harte
60aa383c95
Makes a not-quite-correct attempt at a .description for reflective structs.
2020-03-30 00:24:49 -04:00
Thomas Harte
69277bbb27
Renames files to match project convention.
2020-03-19 23:24:06 -04:00
Thomas Harte
9995d776de
Attempts to fix the macOS version, plus some implicit type conversions.
2020-03-18 23:29:09 -04:00
Thomas Harte
615ea2f573
Applies parsed arguments.
2020-03-18 22:31:32 -04:00
Thomas Harte
f9ca443667
Adds the ability for reflective structs to limit the permitted values to enumerated properties.
2020-03-17 21:44:04 -04:00
Thomas Harte
394ee61c78
Starts a switch to reflectable-style runtime options.
...
The Amstrad CPC and ZX80/81 have made the jump so far, subject to caveats. The macOS build is unlikely currently to work properly.
2020-03-16 23:25:05 -04:00
Thomas Harte
8e3bf0dbca
Starts moving towards a Deflectable-based system of runtime options.
2020-03-15 23:48:53 -04:00
Thomas Harte
2031a33edf
Technically SDL users can now start a new machine.
...
Missing though: all the old per-machine command-line options, and any control over the new one.
2020-03-15 21:50:43 -04:00
Thomas Harte
f9c8470b20
Ensure targets always nominate a machine.
2020-03-15 00:13:38 -04:00
Thomas Harte
36acc2dddd
Add necessary include for std::find.
2020-03-14 00:22:23 -04:00
Thomas Harte
a59963b6a0
Adds necessary header for memcpy.
2020-03-14 00:17:58 -04:00
Thomas Harte
cab4bead72
Promotes explicit specialisations to namespace scope.
2020-03-13 23:38:29 -04:00
Thomas Harte
1a2872c815
Starts to build an easy set
interface.
2020-03-13 22:42:37 -04:00
Thomas Harte
f27e0a141d
Sketches but doesn't implement an interface for serialisation.
2020-03-13 20:16:36 -04:00
Thomas Harte
52f644c4f1
Ensures that reflection is completely blind; starts adding SDL instantiation logic.
2020-03-12 20:56:02 -04:00
Thomas Harte
724e2e6d27
Withdraws ability to select an integer size for ReflectableEnums.
...
It isn't that useful, and this'll help if/when I get to serialisation.
2020-03-11 23:28:38 -04:00
Thomas Harte
fd052189ca
Adds reflection to all of the other computer targets.
2020-03-11 23:25:29 -04:00
Thomas Harte
044a2b67e1
Beefs up documentation on this miniature sort-of reflection.
2020-03-11 23:03:05 -04:00
Thomas Harte
7e8b86e9bb
Attempts to flesh out Reflection::Enum.
2020-03-11 23:03:05 -04:00
Thomas Harte
ce80825abb
Starts working towards a registration-based model of reflective enums.
2020-03-11 23:03:05 -04:00
Thomas Harte
a99bb3ba6d
Switches to class storage.
2020-03-11 23:03:05 -04:00
Thomas Harte
3428e9887d
Starts experimenting with declared reflection.
2020-03-11 23:03:05 -04:00
Thomas Harte
5a8fcac4dc
Gives function overloading a try.
2020-03-11 23:03:05 -04:00
Thomas Harte
6a9b14f7d1
Adds a prototype reflective enum.
...
I need to make this scopeable before it is acceptable.
2020-03-11 23:03:05 -04:00