Commit graph

74 commits

Author SHA1 Message Date
a4a2a9eda4 Reference-counting helpers - Equality operators
* Added == and != operators; they can only be used if the referenced types are
from the same hierarchy
 * Tests for the above
2019-01-02 17:52:56 +01:00
b916df3b62 Utilities - EnableForHierarchy< T1 , T2 >
Templated horror that corresponds to a std::enable_if for which the
condition will be true if T1 and T2 are in the same type hierarchy.
2019-01-02 17:39:55 +01:00
5f3911a067 Reference-counting helpers - Clean-up 2019-01-02 17:25:09 +01:00
270da6492a Reference-counting helpers - Disable copy/move cons/ass in base class 2019-01-02 17:24:22 +01:00
6afe127d13 Reference-counting helpers - Copy/move cons/ass w/ casts
Added tests and fixed a few bugs.
2019-01-02 17:14:08 +01:00
e8e0e8101d Reference-counting helpers - Tests clean-up
Only test either the atomic or the simple version through the test
class, and have the type to test as a template argument.

Also added test source list file, which had been modified but forgotten
in previous commits.
2019-01-02 16:52:38 +01:00
8e2c773de1 Reference-counting helpers - Swap 2019-01-02 16:51:18 +01:00
ddaa46867d Reference counting helpers - Progress, tests
* Assignment copy/move operators
 * Boolean conversion / ! operator
 * Content access
2019-01-02 15:50:21 +01:00
f0e46da2f5 Reference counting helpers - Base class, partial pointers 2019-01-02 13:27:25 +01:00
6cb0c45870 TODO list updated 2018-12-23 22:47:25 +01:00
bb94169a31 VFS - Ported from old LW code 2018-12-23 22:31:34 +01:00
68716e9193 Filesystem - Actual filesystem operations
* Entry type, directory listing
 * Directory creation and deletion
 * File deletion
 * Move
2018-12-23 22:30:11 +01:00
3ef6dcd55e Path style comparison operators 2018-12-23 22:28:33 +01:00
f519387dad MultiArrays - Moved to a separate header 2018-12-23 18:34:43 +01:00
7ea9b5a9c5 Registration - Fixed headers 2018-12-23 18:29:11 +01:00
fc3415047f Filesystem paths - Path style support 2018-12-23 18:17:55 +01:00
96d81b9cd3 T_FSPathStyle - Most methods made constexpr 2018-12-22 09:17:16 +01:00
af1648dcb4 Strings - T_Character is now mostly constexpr 2018-12-20 22:30:44 +01:00
ee02f9c5c7 Filesystem - Path style abstraction
A class that carries information about a filesystem path's style: case
sensitivity, path separator and whether it supports drive letters.
2018-12-19 08:30:11 +01:00
811916a4a3 TODO list - Updated iterators section 2018-12-16 15:26:36 +01:00
42c2d48f1b Arrays - Iterators for T_{Array,StaticArray,AutoArray} 2018-12-16 15:24:40 +01:00
89b67eb0d0 TODO list - T_FSPath runtime configuration 2018-12-16 13:49:36 +01:00
53fbc35c43 FSPath - Started writing tests
I'm not satisfied with how the class works regarding differences between
Linux and Windows, however.
2018-12-16 13:48:17 +01:00
2f4a3b7283 Updated Vim test running script 2018-12-16 12:41:54 +01:00
e2a2535dc2 Fixed vim config re: previous changes
The build configuration Vim uses when building needed to be updated so
it would define OUTDIRBASE instead of OUTDIR.
2018-12-16 12:39:42 +01:00
b21a04b02a TODO - appendDouble() seems to work now 2018-12-16 11:58:41 +01:00
5ef2e8e8d9 Windows build + instructions 2018-12-16 11:57:58 +01:00
bd0494ecd8 Strings - Added some missing unit tests 2018-12-15 21:50:53 +01:00
c31280325f Arrays - Use array helpers 2018-12-15 20:42:54 +01:00
71fee96926 Utilities - Array helpers
A bunch of utility functions to move array data around, based on the
array elements' types.
2018-12-15 20:42:39 +01:00
da2034c589 Utilities - M_UNUSED macro 2018-12-15 20:40:37 +01:00
ed126a2d5e Optional type - Don't use target() in operators 2018-12-15 20:40:14 +01:00
e2f548d55e Strings - Fixed compiler warning 2018-12-15 18:45:53 +01:00
30d8d3057e Windows "compatibility"
* Makefile changes allowing for cross-compilation
* SRDData: had to rename an enum member from ERROR to ERR because
apparently creating a macro called ERROR is a thing in the windows
headers
* DynLib: ported
* Strings: fixes in toOSString, untested for now
* Fixes in some tests
* TODO list update
2018-06-17 12:39:02 +02:00
ae2ad1f8b4 Arrays - Predicate-based indexOf/contains methods 2018-05-09 14:12:27 +02:00
d823721fb2 Strings - Character mapping, conversion to upper/lowercase 2018-05-08 13:58:39 +02:00
fbff6e8352 Tests - Removed a random printf 2018-05-08 13:58:10 +02:00
8f939b6a32 MultiArray - Function that returns total values count 2018-05-07 12:57:26 +02:00
d2122aff38 Buffers - append() method 2018-04-30 09:10:39 +02:00
6f52668540 SyntaxTree - Location field 2018-03-31 22:38:26 +02:00
b659f2f237 Syntax tree - Visitors
Syntax trees can return a pre-configured visitor object that can be used
to visit all the nodes. Also added a method to create a "root node"
handle for the visitor, because I'm a lazy bastard.
2018-03-31 22:11:00 +02:00
a9762a901e Syntax tree - Added basic abstraction 2018-03-31 16:58:13 +02:00
7b97993448 Files - Set path in stream errors 2017-12-28 09:52:47 +01:00
165c19109f Streams - Ability to read exception path 2017-12-28 09:52:30 +01:00
0651ea28e0 Streams - Added optional path to errors 2017-12-27 19:00:56 +01:00
424ba93472 Files - Use T_FSPath 2017-12-27 14:57:24 +01:00
5497856be2 Filesystem abstraction 2017-12-27 10:49:31 +01:00
324774848f Sets - Missing returns in assignment operators 2017-12-14 18:53:03 +01:00
04726e2067 Hash tables - Accessing values in RW mode 2017-12-10 12:00:17 +01:00
53feddb4ee SRD errors - Errors, warnings and notes
Replaced the "details" flag with a type which indicates whether an error
record contains an actual error, a warning or just a note.
2017-12-02 09:16:17 +01:00