1
0
forked from Alepha/Alepha
Commit Graph

325 Commits

Author SHA1 Message Date
adam 759b2ecdea Exception problem debugging. 2024-09-05 12:15:14 -04:00
adam 90531755f8 Remove a stray debugging print 2024-05-24 14:04:27 -04:00
adam 2442ddac2b Assertions only in debug builds. 2024-05-24 13:26:17 -04:00
adam ec41796d59 Require exceptions to be one of specific defined grades.
Merge branch 'exception-improvements'
2024-05-22 12:53:11 -04:00
adam b507a7a588 Integrate a few code refactoring changes.
Merge branch 'refactors'
2024-05-22 12:47:17 -04:00
adam 71b8b9c9e6 Integrate the number printing functionality.
This might make writing some kinds of tests which need lots
of string data easier (convert large numbers to larger strings).

Merges branch 'number-print'

 Conflicts:
	Utility/CMakeLists.txt
2024-05-22 00:41:22 -04:00
adam 75eb205a22 Merge branch 'relocate-blob' 2024-05-21 14:11:38 -04:00
adam 94b0a1561b Relocate Blob, Buffer, and DataChain to Memory. 2024-05-20 18:18:04 -04:00
adam 3844026429 Move streamable name to be more like the others. 2024-05-07 22:46:38 -04:00
adam a1137d3a56 Split up the evaluation helpers into specific files. 2024-05-07 22:41:57 -04:00
adam f47b942e28 Remove some debugging code from the line-tracking streambuf. 2024-04-12 17:14:16 -04:00
adam 2282cb73a4 Merge branch 'docs-improvements' 2024-04-05 00:56:19 -04:00
adam 26d9ff52a0 Formatting literals. 2024-04-05 00:55:53 -04:00
adam aee670f15a Format is a dir. 2024-04-04 22:56:46 -04:00
adam dd674bf35a Delimited list test needs to test disconnect. 2024-04-04 22:38:45 -04:00
adam 8ae94293ce Fix delimited list unimpl function. 2024-04-04 22:31:35 -04:00
adam 1a6460e717 Stackable streambufs have a depth observer now. 2024-04-04 22:29:23 -04:00
adam 083a58dc99 The --help output got mangled. This fixes it. 2024-04-04 22:26:29 -04:00
adam 541a945605 IWYU for OStreamable using delimited list. 2024-04-04 22:25:56 -04:00
adam 4cec1a7299 Started work on some formatting primitives.
Things like markdown and indent fixing in UDLs.
2024-04-04 18:18:11 -04:00
adam 6d60639b1c Move some docs to a docs dir.
This lets me have a dir named `Format`, which I want.
2024-04-04 18:12:54 -04:00
adam 379a2b4dc2 Start using the stream adaptor. 2024-04-04 18:07:41 -04:00
adam a6467772f4 Make it possible to use arbitrary code in making delimited lists. 2024-04-04 15:41:27 -04:00
adam 58327d5afd We should be using sentry in our generated istream operators. 2024-04-04 13:56:26 -04:00
adam 29575e7e30 Some cleanup and tests for Enum and constexpr strings. 2024-04-04 00:53:12 -04:00
adam 38df35ebc4 IOStream filter stage.
This permits creation of custom filtration stages in the IOStream
streambuf stack.
2024-04-03 23:44:51 -04:00
adam cc1fdf725b Correct some of the underlying-forwarding parts of stream stacks. 2024-04-03 23:38:13 -04:00
adam 83034c501f AutoRAII based stream adaptors. 2024-04-03 16:28:55 -04:00
adam 435bd912a4 Use delimiter stream adaptor in some output. 2024-04-03 16:09:50 -04:00
adam 66e8acfd5b List delimiting primitive for output streams. 2024-04-03 15:53:43 -04:00
adam 8bd9852bd4 Fix forwarding the messages to the underlying functions.
If you take the address of the overriding function, it cannot be
converted to the base class.  So for all the "forward to underlying"
set I have to make a base class with no overrides which forwards.

Then the main stackable class can make any overrides it wants.  I
believe that this is still safe, since the base class knows the name
to be virtual.  So we're not taking the address of the impl function,
but instead taking the index of the virtual function.  If I'm
wrong... I'll need a whole different approach here.
2024-04-03 15:50:31 -04:00
adam d8689b85e8 Make the underlying streambuf private in stacks. 2024-04-03 15:01:52 -04:00
adam 8250680e6c Modernize some of how program options emits help.
Alepha IOStreams supports adaptors for most of what used to be
temporary string functions.
2024-04-03 14:24:03 -04:00
adam 7410245314 Input stream stacking with line numbers!
This should help when building custom language parsers.  An input
stream can be augmented with this stackable streambuf to track
the current line number.  This can (and should) be done low in
the stack, so that any variable expansion and comment stripping
stages will not affect line number count.

The stage bolts on a stream state sidecar to point back to itself.
The observer for the current line peeks into the sidecar to see
the current line number tracking object for the stream and then
gets the current line number from that object.

The line number is the current line the input cursor is on.
Newline characters are treated as-if they're part of the current
line.  The newly created line will start on the first character
after the newline character.  This helps keep line-index counts
accurate too.  (Idea for a further stage?  Line index cursor
too?)
2024-04-03 08:29:10 -04:00
adam 373b07e1c4 Apply the newer namespace rules and layout/formatting. 2024-04-02 23:32:02 -04:00
adam 53a4d91a23 Add a unique pointer dynamic cast utility. 2024-03-31 10:33:03 -04:00
adam f9553de81f Fix some issues with the initial pull request for number printing. 2024-03-21 17:18:46 -04:00
adam e901aaedda Merge in some reflection improvements.
This is some of the reflection improvements I've implemented.
I do need to solve a few issues with arity (perhaps?)  I also
would like to introduce more requires clauses and retire some
C++17 "concepts" hacks.  However, it seems that the way that
requires clauses expand things is in such a way that it
prevents friend injection?
2024-03-21 16:43:15 -04:00
adam ca5b198c6d Accept some type lisp improvements.
This also introduces some tuple concatenation primitives.

Closes #7
2024-03-21 16:38:18 -04:00
adam 5438ae9312 Add a repeat function to type lisp. 2024-03-21 16:21:38 -04:00
adam 5242aa340a Tuple concatenation. 2024-03-21 16:21:38 -04:00
adam d9b2362b54 Start introducing more requires clauses. 2024-03-21 16:21:08 -04:00
adam c6f86ed4ba Add a repeat function to type lisp. 2024-03-21 16:20:26 -04:00
adam 3259543c30 Tuple concatenation. 2024-03-21 16:13:30 -04:00
adam 892a557ce7 Modernize a bit with some requires statements. 2024-03-21 15:36:54 -04:00
adam 1e3b3707e2 Fixed tagged ctor argument inspection code. 2024-03-21 15:31:02 -04:00
adam 3707ec5cc2 We can use requires clauses here.
But it does seem that I can't remove the repeated defns for
the argument extraction.
2024-03-19 15:21:59 -04:00
adam 35e6089a80 Terminating condition for ctor count. 2024-03-19 15:02:17 -04:00
adam 626a341821 Tagged ctor count. 2024-03-18 16:14:15 -04:00
adam d0fc98de71 The has_tagged_ctor header should have been properly named. 2024-03-18 16:13:51 -04:00