コード例 #1
0
  public override void Write( byte[] b, int off, int n )
  {
    Log.LogWrite( FileId, Pos, b, off, n );

    if ( Pos + n > Len ) Len = Pos + n;

    while ( n > 0 )
    {
      int got = n > WriteAvail ? WriteAvail : n;
      if ( got > 0 )
      {
        if ( !UnsavedAdded )
        {
          UnsavedPageNums.Add( CurBufferNum );
          UnsavedAdded = true;
        }
        for ( int i = 0; i < got; i += 1 ) CurBuffer[ CurIndex + i ] = b[ off + i ];
        off += got;
        n -= got;
        Pos += got;
        CurIndex += got;
        WriteAvail -= got;
      }
      else DoSeek( false );
    }
  }
コード例 #2
0
 public IdCopy(IdSet x, EvalEnv ee)
 {
     foreach (long id in x.All(ee))
     {
         Copy.Add(id);
     }
 }
コード例 #3
0
ファイル: IdSet.cs プロジェクト: georgebarwood/Database
 public override G.IEnumerable <long> All(EvalEnv ee)
 {
     G.SortedSet <long> copy = new G.SortedSet <long>();
     foreach (long id in X.All(ee))
     {
         copy.Add(id);
     }
     foreach (long id in copy)
     {
         yield return(id);
     }
 }
コード例 #4
0
 public override bool NewRow(Value [] r)
 {
     Rows.Add((Value[])r.Clone());
     return(true);
 }