4#ifndef _Stroika_Foundation_DataExchange_Variant_CharacterDelimitedLines_Reader_h_
5#define _Stroika_Foundation_DataExchange_Variant_CharacterDelimitedLines_Reader_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
9#include "Stroika/Foundation/Common/Common.h"
10#include "Stroika/Foundation/Containers/Sequence.h"
11#include "Stroika/Foundation/Containers/Set.h"
24namespace Stroika::Foundation::DataExchange::Variant::CharacterDelimitedLines {
26 using Characters::Character;
27 using Characters::String;
28 using Containers::Sequence;
29 using Containers::Set;
30 using Traversal::Iterable;
Set<T> is a container of T, where once an item is added, additionally adds () do nothing.
This COULD be easily used to read CSV files, or tab-delimited files, for example.
nonvirtual Iterable< Sequence< String > > ReadMatrix(const Streams::InputStream::Ptr< byte > &in) const
abstract class specifying interface for readers that map a source like XML or JSON to a VariantValue ...
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.