internal unsafe Triple_Accessor(byte *_CellPtr

                                        , ResizeFunctionDelegate func
                                        )
        {
            m_ptr = _CellPtr;

            ResizeFunction         = func;
            Subject_Accessor_Field = new StringAccessor(null,
                                                        (ptr, ptr_offset, delta) =>
            {
                int substructure_offset = (int)(ptr - this.m_ptr);
                this.m_ptr = this.ResizeFunction(this.m_ptr, ptr_offset + substructure_offset, delta);
                return(this.m_ptr + substructure_offset);
            });        Predicate_Accessor_Field = new StringAccessor(null,
                                                                     (ptr, ptr_offset, delta) =>
            {
                int substructure_offset = (int)(ptr - this.m_ptr);
                this.m_ptr = this.ResizeFunction(this.m_ptr, ptr_offset + substructure_offset, delta);
                return(this.m_ptr + substructure_offset);
            });        Object_Accessor_Field = new StringAccessor(null,
                                                                  (ptr, ptr_offset, delta) =>
            {
                int substructure_offset = (int)(ptr - this.m_ptr);
                this.m_ptr = this.ResizeFunction(this.m_ptr, ptr_offset + substructure_offset, delta);
                return(this.m_ptr + substructure_offset);
            });        Namespace_Accessor_Field = new StringAccessor(null,
                                                                     (ptr, ptr_offset, delta) =>
            {
                int substructure_offset = (int)(ptr - this.m_ptr);
                this.m_ptr = this.ResizeFunction(this.m_ptr, ptr_offset + substructure_offset, delta);
                return(this.m_ptr + substructure_offset);
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Determines whether this instance and a specified object have the same value.
        /// </summary>
        /// <param name="obj">The StringAccessor to compare to this instance.</param>
        /// <returns>true if obj is a StringAccessor and its value is the same as this instance; otherwise, false.</returns>
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            StringAccessor b = obj as StringAccessor;

            if ((object)b == null)
            {
                string s = obj as string;
                if ((object)s == null)
                {
                    return(false);
                }
                return(this.ToString() == s);
            }
            return(this.ToString() == b.ToString());
        }
Ejemplo n.º 3
0
 internal _iterator(StringAccessor target)
 {
     targetPtr = target.m_ptr;
     endPtr    = target.m_ptr + target.length;
 }