8 #include "Arp/System/Core/IEnumerator.hxx"     9 #include "Arp/Plc/Commons/Meta/DataInfo.hpp"    10 #include "Arp/Plc/Commons/Meta/ITypeNavigator.hpp"    14 namespace Arp { 
namespace Plc { 
namespace Commons { 
namespace Meta
    22     typedef std::shared_ptr<StructNavigator> 
Ptr;
    31         Enumerator(std::vector<DataInfo>& fieldInfos, std::vector<size_t>& offsets, 
const byte* startAddress);
    36         size_t          GetCurrentOffset()
const;
    39         std::vector<size_t>&    offsets;
    40         std::vector<DataInfo>&  fieldInfos;
    41         const byte*             startAddress;
    85     std::vector<DataInfo>   fieldInfos;
    86     std::vector<size_t>     offsets;
    87     bool                    isChanging = 
false;
   105 inline size_t StructNavigator::Enumerator::GetCurrentOffset(
void)
const   107     if (this->index < offsets.size())
   109         return offsets[this->index];
 
Declares the interface of the enumerator pattern, which is leaned on .NET enumerator idiom...
Definition: IEnumerator.hxx:47
Root namespace for the PLCnext API
IEnumerator & operator=(const IEnumerator &arg)=default
Assigns an IEnumerator instance.
unsigned char byte
The Arp character type.
Definition: PrimitiveTypes.hpp:23