Fan.Sys.Range.start C# (CSharp) Method

start() private method

private start ( int size ) : int
size int
return int
        internal int start(int size)
        {
            int x = (int)m_start;
              if (x < 0) x = size + x;
              if (x > size) throw IndexErr.make(this).val;
              return x;
        }

Same methods

Range::start ( ) : long
Range::start ( long size ) : long

Usage Example

Example #1
0
        public void eachRange(Range r, Func f)
        {
            int s = r.start(m_size);
            int e = r.end(m_size);
            int n = e - s + 1;

            if (n < 0)
            {
                throw IndexErr.make(r).val;
            }

            if (f.arity() == 1)
            {
                for (int i = s; i <= e; ++i)
                {
                    f.call(m_values[i]);
                }
            }
            else
            {
                for (int i = s; i <= e; ++i)
                {
                    f.call(m_values[i], i);
                }
            }
        }
All Usage Examples Of Fan.Sys.Range::start