예제 #1
0
 public Timeline(RCArray <string> cols)
 {
     Colset = cols;
     if (Colset.Contains("G"))
     {
         Global = new RCArray <long> ();
     }
     if (Colset.Contains("E"))
     {
         Event = new RCArray <long> ();
     }
     if (Colset.Contains("T"))
     {
         Time = new RCArray <RCTimeScalar> ();
     }
     if (Colset.Contains("S"))
     {
         Symbol = new RCArray <RCSymbolScalar> ();
     }
     Proto = CubeProto.Create(this);
 }
예제 #2
0
        public RCSymbol ConcreteSymbols(RCSymbol symbol, bool showDeleted)
        {
            RCArray <RCSymbolScalar> result = new RCArray <RCSymbolScalar> (8);

            foreach (CountRecord count in _records.Values)
            {
                if (count.deleted && !showDeleted)
                {
                    continue;
                }
                for (int i = 0; i < symbol.Count; ++i)
                {
                    RCSymbolScalar scalar = symbol[i];
                    if (scalar.Key.Equals("'*'") || symbol[i].Key.Equals("*"))
                    {
                        if (count.Concrete && !result.Contains(count.symbol))
                        {
                            if (count.symbol.IsConcreteOf(scalar))
                            {
                                result.Write(count.symbol);
                            }
                            else if (count.symbol.Equals(scalar))
                            {
                                result.Write(count.symbol);
                            }
                        }
                    }
                }
            }
            for (int i = 0; i < symbol.Count; ++i)
            {
                if (!(symbol[i].Key.Equals("'*'") || symbol[i].Key.Equals("*")) &&
                    !result.Contains(symbol[i]))
                {
                    result.Write(symbol[i]);
                }
            }
            return(new RCSymbol(result));
        }
예제 #3
0
 public bool Has(string name)
 {
     return(Colset.Contains(name));
 }