1
0
forked from Alepha/Alepha

Make stream state have a default-construction option.

Start integrating it for the field delimiters.
This commit is contained in:
2023-10-25 03:55:42 -04:00
parent 5e86b58987
commit bacaa9fcee
3 changed files with 49 additions and 6 deletions

View File

@ -11,11 +11,11 @@ namespace Alepha::Hydrogen::IOStreams ::detail:: stream_state
{
inline namespace exports
{
template< typename Tag, typename Type >
template< typename Tag, typename Type, auto Default= [] { return Type{}; } >
class StreamState;
}
template< typename Tag, typename Type >
template< typename Tag, typename Type, auto Default >
class exports::StreamState
{
private:
@ -70,7 +70,7 @@ namespace Alepha::Hydrogen::IOStreams ::detail:: stream_state
ios.register_callback( callback, index() );
}
auto *&ptr= get_ptr( ios );
if( not ptr ) ptr= new Type{};
if( not ptr ) ptr= new Type{ Default() };
}
public: