Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Accessor.h
1/*/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Foundation_Execution_Resources_Accessor_h_
5#define _Stroika_Foundation_Execution_Resources_Accessor_h_ 1
6
7#include "Stroika/Foundation/StroikaPreComp.h"
8
10#include "Stroika/Foundation/Common/Common.h"
11
12namespace Stroika::Foundation::Execution::Resources {
13
14 class Manager;
15
16 /**
17 * This object provides access to the application-lifetime data/pointers associated with a resource
18 * retrieved from a Resource::Manager (subclass).
19 */
20 class Accessor {
21 private:
22 Accessor (span<const byte> s);
23
24 public:
25 nonvirtual const byte* begin () const;
26 nonvirtual const byte* end () const;
27
28 public:
29 nonvirtual size_t size () const;
30
31 public:
32 /*
33 * \note - In Stroika v2.1 and earlier, this returned a vector<byte>.
34 */
35 nonvirtual span<const byte> GetData () const;
36
37 private:
38 span<const byte> fData_;
39
40 private:
41 friend class Manager;
42 };
43
44}
45
46/*
47 ********************************************************************************
48 ***************************** Implementation Details ***************************
49 ********************************************************************************
50 */
51#include "Accessor.inl"
52
53#endif /*_Stroika_Foundation_Execution_Resources_Accessor_h_*/