Ejemplo n.º 1
0
        protected Column(Timeline timeline, RCArray <int> index, object data)
        {
            _tlcount = timeline.Count;
            RCArray <T> original = (RCArray <T>)data;

            if (original.Locked())
            {
                _data  = new RCArray <T> (original.Count);
                _index = new RCArray <int> (original.Count);
                for (int i = 0; i < original.Count; ++i)
                {
                    _data.Write(original[i]);
                    _index.Write(index[i]);
                }
            }
            else
            {
                _data  = (RCArray <T>)data;
                _index = index;
            }
            if (timeline.Has("S"))
            {
                _last = new Dictionary <RCSymbolScalar, T> ();
                for (int i = 0; i < _data.Count; ++i)
                {
                    RCSymbolScalar key = timeline.Symbol[index[i]];
                    T val = _data[i];
                    if (_last != null)
                    {
                        _last[key] = val;
                    }
                }
            }
        }