4#ifndef _Stroika_Foundation_DataExchange_Archive_Reader_h_
5#define _Stroika_Foundation_DataExchange_Archive_Reader_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
10#include "Stroika/Foundation/Containers/Set.h"
19namespace Stroika::Foundation::DataExchange::Archive::Reader {
21 using Characters::String;
22 using Containers::Set;
33 Ptr (
const Ptr&) =
delete;
35 explicit Ptr (
const shared_ptr<IRep>& rep);
36 Ptr& operator= (
const Ptr&) =
delete;
41 nonvirtual Set<String> GetContainedFiles ()
const;
47 nonvirtual BLOB GetData (
const String& fileName)
const;
50 nonvirtual IRep& _GetRep ();
51 nonvirtual
const IRep& _GetRep ()
const;
54 shared_ptr<IRep> fRep_;
61 virtual ~IRep () =
default;
62 virtual Set<String> GetContainedFiles ()
const = 0;
63 virtual BLOB GetData (
const String& fileName)
const = 0;