public NativeStructureBuilderImpl(INativeLayoutContext ctx, string structureName)
        {
            _ctx = ctx;

            this.StructureName            = structureName;
            this.UseDefaultFieldAlignment = true;
            this.FieldsAligmnent          = null;
            this.StructureAlignment       = null;

            _fields = new List <NativeStructureFieldBuilderImpl>();
        }
        public NativeStructureBuilderImpl(INativeLayoutContext ctx, string structureName, NativeStructureBuilderImpl other)
        {
            _ctx = ctx;

            this.StructureName            = structureName;
            this.UseDefaultFieldAlignment = other.UseDefaultFieldAlignment;
            this.FieldsAligmnent          = other.FieldsAligmnent;
            this.StructureAlignment       = other.StructureAlignment;

            _fields = new List <NativeStructureFieldBuilderImpl>(other._fields);
        }
        public NativeStructureFieldInfoImpl(INativeLayoutContext ctx, int number, string name, int offset, int size, int bitIndex, int bitsCount, bool isReference)
        {
            _ctx = ctx;

            this.Number      = number;
            this.Name        = name;
            this.Offset      = offset;
            this.Size        = size;
            this.BitIndex    = bitIndex;
            this.BitsCount   = bitsCount;
            this.IsReference = isReference;
        }