/// <summary> /// Traverses the structure layout in order of field definition and /// calls a method defined in an IStructureLayoutVisitor for each field /// in the structure. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor that should visit each structure field.</param> public void Accept(IStructureLayoutVisitor visitor) { foreach (LayoutField field in _fields) { field.Accept(visitor); } }
/// <summary> /// Traverses the structure layout in order of field definition and /// calls a method defined in an IStructureLayoutVisitor for each field /// in the structure. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor that should visit each structure field.</param> public void Accept(IStructureLayoutVisitor visitor) { foreach (ILayoutField field in _fields) { if (field is PrimitiveLayoutField primitive) { primitive.Accept(visitor); } } }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitBasicField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public override void Accept(IStructureLayoutVisitor visitor) { visitor.VisitBasicField(Name, _type, Offset); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitArrayField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public override void Accept(IStructureLayoutVisitor visitor) { visitor.VisitArrayField(Name, Offset, _count, _subLayout); }
/// <summary> /// Depending on the type of the field, calls a corresponding method defined in the visitor object. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public abstract void Accept(IStructureLayoutVisitor visitor);
/// <summary> /// Traverses the structure layout in order of field definition and /// calls a method defined in an IStructureLayoutVisitor for each field /// in the structure. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor that should visit each structure field.</param> public void Accept(IStructureLayoutVisitor visitor) { foreach (IStructField field in _fields) field.Accept(visitor); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitRawField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public void Accept(IStructureLayoutVisitor visitor) { visitor.VisitRawField(_name, _offset, _size); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitArrayField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public void Accept(IStructureLayoutVisitor visitor) { visitor.VisitArrayField(_name, _offset, _count, _entrySize, _subLayout); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitArrayField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public void Accept(IStructureLayoutVisitor visitor) { visitor.VisitArrayField(Name, Offset, _count, _subLayout); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitBasicField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public void Accept(IStructureLayoutVisitor visitor) { visitor.VisitBasicField(_name, _type, _offset); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitStructField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public override void Accept(IStructureLayoutVisitor visitor) { visitor.VisitStructField(Name, Offset, _layout); }
/// <summary> /// Accepts an IStructureLayoutVisitor, calling the VisitRawField method on it. /// </summary> /// <param name="visitor">The IStructureLayoutVisitor to accept.</param> public override void Accept(IStructureLayoutVisitor visitor) { visitor.VisitRawField(Name, Offset, _size); }