Skip to content

Instantly share code, notes, and snippets.

@danmoseley
Created February 5, 2019 21:02
Show Gist options
  • Save danmoseley/98b0dd3d33a0283a6fe71e46ff22c929 to your computer and use it in GitHub Desktop.
Save danmoseley/98b0dd3d33a0283a6fe71e46ff22c929 to your computer and use it in GitHub Desktop.
Dataview Feb19

API List of c:\git\machinelearning\bin\AnyCPU.Debug\Microsoft.Data.DataView\netstandard2.0\Microsoft.Data.DataView.dll

Microsoft.Data.DataView

 namespace Microsoft.Data.DataView {
     public sealed class BoolType : PrimitiveType {
         public static BoolType Instance { get; }
         public override bool Equals(ColumnType other);
         public override string ToString();
     }
     public abstract class ColumnType : IEquatable<ColumnType> {
         public Type RawType { get; }
         public abstract bool Equals(ColumnType other);
     }
     public sealed class DateTimeOffsetType : PrimitiveType {
         public static DateTimeOffsetType Instance { get; }
         public override bool Equals(ColumnType other);
         public override string ToString();
     }
     public sealed class DateTimeType : PrimitiveType {
         public static DateTimeType Instance { get; }
         public override bool Equals(ColumnType other);
         public override string ToString();
     }
     public interface IDataView {
         bool CanShuffle { get; }
         Schema Schema { get; }
         Nullable<long> GetRowCount();
         RowCursor GetRowCursor(IEnumerable<Schema.Column> columnsNeeded, Random rand = null);
         RowCursor[] GetRowCursorSet(IEnumerable<Schema.Column> columnsNeeded, int n, Random rand = null);
     }
     public sealed class MetadataBuilder {
         public MetadataBuilder();
         public void Add(Schema.Metadata metadata, Func<string, bool> selector);
         public void Add(string name, ColumnType type, Delegate getter, Schema.Metadata metadata = null);
         public void Add<TValue>(string name, ColumnType type, ValueGetter<TValue> getter, Schema.Metadata metadata = null);
         public void AddPrimitiveValue<TValue>(string name, PrimitiveType type, TValue value, Schema.Metadata metadata = null);
         public Schema.Metadata GetMetadata();
     }
     public sealed class NumberType : PrimitiveType {
         public static NumberType Float { get; }
         public static NumberType I1 { get; }
         public static NumberType I2 { get; }
         public static NumberType I4 { get; }
         public static NumberType I8 { get; }
         public static NumberType R4 { get; }
         public static NumberType R8 { get; }
         public static NumberType U1 { get; }
         public static NumberType U2 { get; }
         public static NumberType U4 { get; }
         public static NumberType U8 { get; }
         public static NumberType UG { get; }
         public override bool Equals(ColumnType other);
         public override string ToString();
     }
     public abstract class PrimitiveType : ColumnType {
         protected PrimitiveType(Type rawType);
     }
     public abstract class Row : IDisposable {
         protected Row();
         public abstract long Batch { get; }
         public abstract long Position { get; }
         public abstract Schema Schema { get; }
         public void Dispose();
         protected virtual void Dispose(bool disposing);
         public abstract ValueGetter<TValue> GetGetter<TValue>(int col);
         public abstract ValueGetter<RowId> GetIdGetter();
         public abstract bool IsColumnActive(int col);
     }
     public abstract class RowCursor : Row {
         protected RowCursor();
         public abstract bool MoveNext();
     }
     public readonly struct RowId : IComparable<RowId>, IEquatable<RowId> {
         public readonly ulong High;
         public readonly ulong Low;
         public RowId(ulong low, ulong high);
         public RowId Combine(RowId other);
         public int CompareTo(RowId other);
         public bool Equals(RowId other);
         public override bool Equals(object obj);
         public RowId Fork();
         public override int GetHashCode();
         public RowId Next();
         public static RowId operator +(RowId first, ulong second);
         public static bool operator ==(RowId first, ulong second);
         public static explicit operator double (RowId x);
         public static bool operator >(RowId first, ulong second);
         public static bool operator >=(RowId first, ulong second);
         public static bool operator !=(RowId first, ulong second);
         public static bool operator <(RowId first, ulong second);
         public static bool operator <=(RowId first, ulong second);
         public static RowId operator -(RowId first, ulong second);
         public override string ToString();
     }
     public sealed class Schema : IEnumerable, IEnumerable<Schema.Column>, IReadOnlyCollection<Schema.Column>, IReadOnlyList<Schema.Column> {
         public int Count { get; }
         public Schema.Column this[int columnIndex] { get; }
         public Schema.Column this[string name] { get; }
         public Nullable<Schema.Column> GetColumnOrNull(string name);
         public IEnumerator<Schema.Column> GetEnumerator();
         IEnumerator System.Collections.IEnumerable.GetEnumerator();
         public override string ToString();
         public struct Column {
             public int Index { get; }
             public bool IsHidden { get; }
             public Schema.Metadata Metadata { get; }
             public string Name { get; }
             public ColumnType Type { get; }
             public override string ToString();
         }
         public struct DetachedColumn {
             public DetachedColumn(Schema.Column column);
             public DetachedColumn(string name, ColumnType type, Schema.Metadata metadata = null);
             public Schema.Metadata Metadata { get; }
             public string Name { get; }
             public ColumnType Type { get; }
         }
         public sealed class Metadata {
             public static Schema.Metadata Empty { get; }
             public Schema Schema { get; }
             public ValueGetter<TValue> GetGetter<TValue>(int col);
             public void GetValue<TValue>(string kind, ref TValue value);
             public override string ToString();
         }
     }
     public sealed class SchemaBuilder {
         public SchemaBuilder();
         public void AddColumn(string name, ColumnType type, Schema.Metadata metadata = null);
         public void AddColumns(IEnumerable<Schema.Column> source);
         public void AddColumns(IEnumerable<Schema.DetachedColumn> source);
         public Schema GetSchema();
     }
     public abstract class StructuredType : ColumnType {
         protected StructuredType(Type rawType);
     }
     public sealed class TextType : PrimitiveType {
         public static TextType Instance { get; }
         public override bool Equals(ColumnType other);
         public override string ToString();
     }
     public sealed class TimeSpanType : PrimitiveType {
         public static TimeSpanType Instance { get; }
         public override bool Equals(ColumnType other);
         public override string ToString();
     }
     public delegate void ValueGetter<TValue>(ref TValue value);
 }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment