@@ -94,7 +94,7 @@ template <typename TICKET> class ImmediateTicketRunner {
94
94
95
95
// Base class for ticket workers that operate elementwise over descriptors
96
96
class Elementwise {
97
- protected :
97
+ public :
98
98
RT_API_ATTRS Elementwise (
99
99
const Descriptor &instance, const Descriptor *from = nullptr )
100
100
: instance_{instance}, from_{from} {
@@ -120,6 +120,7 @@ class Elementwise {
120
120
}
121
121
}
122
122
123
+ protected:
123
124
const Descriptor &instance_, *from_{nullptr };
124
125
std::size_t elements_{instance_.Elements ()};
125
126
std::size_t elementAt_{0 };
@@ -129,7 +130,7 @@ class Elementwise {
129
130
130
131
// Base class for ticket workers that operate over derived type components.
131
132
class Componentwise {
132
- protected :
133
+ public :
133
134
RT_API_ATTRS Componentwise (const typeInfo::DerivedType &);
134
135
RT_API_ATTRS bool IsComplete () const { return componentAt_ >= components_; }
135
136
RT_API_ATTRS void Advance () {
@@ -147,6 +148,7 @@ class Componentwise {
147
148
}
148
149
RT_API_ATTRS void GetComponent ();
149
150
151
+ protected:
150
152
const typeInfo::DerivedType &derived_;
151
153
std::size_t components_{0 }, componentAt_{0 };
152
154
const typeInfo::Component *component_{nullptr };
@@ -155,8 +157,8 @@ class Componentwise {
155
157
156
158
// Base class for ticket workers that operate over derived type components
157
159
// in an outer loop, and elements in an inner loop.
158
- class ComponentsOverElements : protected Componentwise , protected Elementwise {
159
- protected :
160
+ class ComponentsOverElements : public Componentwise , public Elementwise {
161
+ public :
160
162
RT_API_ATTRS ComponentsOverElements (const Descriptor &instance,
161
163
const typeInfo::DerivedType &derived, const Descriptor *from = nullptr )
162
164
: Componentwise{derived}, Elementwise{instance, from} {
@@ -187,13 +189,14 @@ class ComponentsOverElements : protected Componentwise, protected Elementwise {
187
189
Componentwise::Reset ();
188
190
}
189
191
192
+ protected:
190
193
int phase_{0 };
191
194
};
192
195
193
196
// Base class for ticket workers that operate over elements in an outer loop,
194
197
// type components in an inner loop.
195
- class ElementsOverComponents : protected Elementwise , protected Componentwise {
196
- protected :
198
+ class ElementsOverComponents : public Elementwise , public Componentwise {
199
+ public :
197
200
RT_API_ATTRS ElementsOverComponents (const Descriptor &instance,
198
201
const typeInfo::DerivedType &derived, const Descriptor *from = nullptr )
199
202
: Elementwise{instance, from}, Componentwise{derived} {
@@ -219,6 +222,7 @@ class ElementsOverComponents : protected Elementwise, protected Componentwise {
219
222
Elementwise::Advance ();
220
223
}
221
224
225
+ protected:
222
226
int phase_{0 };
223
227
};
224
228
@@ -319,7 +323,7 @@ class AssignTicket : public ImmediateTicketRunner<AssignTicket> {
319
323
template <bool IS_COMPONENTWISE>
320
324
class DerivedAssignTicket
321
325
: public ImmediateTicketRunner<DerivedAssignTicket<IS_COMPONENTWISE>>,
322
- protected std::conditional_t <IS_COMPONENTWISE, ComponentsOverElements,
326
+ private std::conditional_t <IS_COMPONENTWISE, ComponentsOverElements,
323
327
ElementsOverComponents> {
324
328
public:
325
329
using Base = std::conditional_t <IS_COMPONENTWISE, ComponentsOverElements,
@@ -348,7 +352,7 @@ namespace io::descr {
348
352
template <io::Direction DIR>
349
353
class DescriptorIoTicket
350
354
: public ImmediateTicketRunner<DescriptorIoTicket<DIR>>,
351
- protected Elementwise {
355
+ private Elementwise {
352
356
public:
353
357
RT_API_ATTRS DescriptorIoTicket (io::IoStatementState &io,
354
358
const Descriptor &descriptor, const io::NonTbpDefinedIoTable *table,
@@ -372,7 +376,7 @@ class DescriptorIoTicket
372
376
373
377
template <io::Direction DIR>
374
378
class DerivedIoTicket : public ImmediateTicketRunner <DerivedIoTicket<DIR>>,
375
- protected ElementsOverComponents {
379
+ private ElementsOverComponents {
376
380
public:
377
381
RT_API_ATTRS DerivedIoTicket (io::IoStatementState &io,
378
382
const Descriptor &descriptor, const typeInfo::DerivedType &derived,
0 commit comments