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     using Ptr = std::shared_ptr<StructNavigator>;
 
   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:48
Root namespace for the PLCnext API