Skip to content

Instantly share code, notes, and snippets.

@genkuroki
Created May 12, 2021 21:55
Show Gist options
  • Save genkuroki/0a048bb816b05b4d995b9d2b913e797f to your computer and use it in GitHub Desktop.
Save genkuroki/0a048bb816b05b4d995b9d2b913e797f to your computer and use it in GitHub Desktop.
print_subtypes
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "using MetaUtils\nprint_subtypes(AbstractVector)",
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": "AbstractVector\n├─ AbstractRange\n│ ├─ LinRange\n│ ├─ OrdinalRange\n│ │ ├─ AbstractUnitRange\n│ │ │ ├─ Base.IdentityUnitRange\n│ │ │ ├─ Base.OneTo\n│ │ │ ├─ Base.Slice\n│ │ │ └─ UnitRange\n│ │ └─ StepRange\n│ └─ StepRangeLen\n├─ Base.LogicalIndex\n├─ Base.ReinterpretArray{T, 1, S, A} where {T, S, A<:(AbstractArray{S})}\n├─ Base.ReshapedArray{T, 1} where T\n├─ BitVector\n├─ CartesianIndices{1, R} where R<:Tuple{OrdinalRange{Int64, Int64}}\n├─ Core.Compiler.AbstractRange\n│ ├─ Core.Compiler.LinRange\n│ ├─ Core.Compiler.OrdinalRange\n│ │ ├─ Core.Compiler.AbstractUnitRange\n│ │ │ ├─ Core.Compiler.IdentityUnitRange\n│ │ │ ├─ Core.Compiler.OneTo\n│ │ │ ├─ Core.Compiler.Slice\n│ │ │ ├─ Core.Compiler.StmtRange\n│ │ │ └─ Core.Compiler.UnitRange\n│ │ └─ Core.Compiler.StepRange\n│ └─ Core.Compiler.StepRangeLen\n├─ Core.Compiler.BitArray{1}\n├─ Core.Compiler.LinearIndices{1, R} where R<:Tuple{Core.Compiler.AbstractUnitRange{Int64}}\n├─ DenseVector\n│ ├─ Base.CodeUnits\n│ ├─ Base.Experimental.Const{T, 1} where T\n│ ├─ Random.UnsafeView\n│ ├─ SharedArrays.SharedVector\n│ └─ Vector\n├─ LinearIndices{1, R} where R<:Tuple{AbstractUnitRange{Int64}}\n├─ PermutedDimsArray{T, 1} where T\n├─ SparseArrays.AbstractSparseVector\n│ └─ SparseArrays.SparseVector\n├─ SubArray{T, 1} where T\n├─ Test.GenericArray{T, 1} where T\n└─ ZMQ.Message\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "using Plots\nprint_subtypes(AbstractVector)",
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": "AbstractVector\n├─ AbstractRange\n│ ├─ LinRange\n│ ├─ OrdinalRange\n│ │ ├─ AbstractUnitRange\n│ │ │ ├─ Base.IdentityUnitRange\n│ │ │ ├─ Base.OneTo\n│ │ │ ├─ Base.Slice\n│ │ │ ├─ StaticArrays.SOneTo\n│ │ │ └─ UnitRange\n│ │ └─ StepRange\n│ └─ StepRangeLen\n├─ Base.LogicalIndex\n├─ Base.ReinterpretArray{T, 1, S, A} where {T, S, A<:(AbstractArray{S})}\n├─ Base.ReshapedArray{T, 1} where T\n├─ BitVector\n├─ CartesianIndices{1, R} where R<:Tuple{OrdinalRange{Int64, Int64}}\n├─ Core.Compiler.AbstractRange\n│ ├─ Core.Compiler.LinRange\n│ ├─ Core.Compiler.OrdinalRange\n│ │ ├─ Core.Compiler.AbstractUnitRange\n│ │ │ ├─ Core.Compiler.IdentityUnitRange\n│ │ │ ├─ Core.Compiler.OneTo\n│ │ │ ├─ Core.Compiler.Slice\n│ │ │ ├─ Core.Compiler.StmtRange\n│ │ │ └─ Core.Compiler.UnitRange\n│ │ └─ Core.Compiler.StepRange\n│ └─ Core.Compiler.StepRangeLen\n├─ Core.Compiler.BitArray{1}\n├─ Core.Compiler.LinearIndices{1, R} where R<:Tuple{Core.Compiler.AbstractUnitRange{Int64}}\n├─ DataStructures.CircularBuffer\n├─ DataStructures.DiBitVector\n├─ DenseVector\n│ ├─ Base.CodeUnits\n│ ├─ Base.Experimental.Const{T, 1} where T\n│ ├─ Random.UnsafeView\n│ ├─ SharedArrays.SharedVector\n│ └─ Vector\n├─ GeometryBasics.AbstractMesh\n│ ├─ GeometryBasics.Mesh\n│ └─ GeometryBasics.MeshMeta\n├─ GeometryBasics.FaceView\n├─ GeometryBasics.LineString\n├─ GeometryBasics.LineStringMeta\n├─ GeometryBasics.MultiLineString\n├─ GeometryBasics.MultiLineStringMeta\n├─ GeometryBasics.MultiPoint\n├─ GeometryBasics.MultiPointMeta\n├─ GeometryBasics.MultiPolygon\n├─ GeometryBasics.MultiPolygonMeta\n├─ GeometryBasics.TupleView\n├─ LinearIndices{1, R} where R<:Tuple{AbstractUnitRange{Int64}}\n├─ PermutedDimsArray{T, 1} where T\n├─ SparseArrays.AbstractSparseVector\n│ └─ SparseArrays.SparseVector\n├─ StaticArrays.StaticArray{S, T, 1} where {S<:Tuple, T}\n│ ├─ GeometryBasics.AbstractFace\n│ │ ├─ GeometryBasics.AbstractNgonFace\n│ │ │ ├─ GeometryBasics.NgonFace\n│ │ │ └─ GeometryBasics.NgonFaceMeta\n│ │ └─ GeometryBasics.AbstractSimplexFace\n│ │ ├─ GeometryBasics.SimplexFace\n│ │ └─ GeometryBasics.SimplexFaceMeta\n│ ├─ GeometryBasics.AbstractPoint\n│ │ ├─ GeometryBasics.Point\n│ │ └─ GeometryBasics.PointMeta\n│ ├─ GeometryBasics.AbstractSimplex\n│ ├─ GeometryBasics.Vec\n│ ├─ StaticArrays.FieldArray{N, T, 1} where {N<:Tuple, T}\n│ │ └─ StaticArrays.FieldVector\n│ ├─ StaticArrays.MArray{S, T, 1} where {S<:Tuple, T}\n│ ├─ StaticArrays.SArray{S, T, 1} where {S<:Tuple, T}\n│ ├─ StaticArrays.SUnitRange\n│ └─ StaticArrays.SizedArray{S, T, 1, M, TData} where {S<:Tuple, T, M, TData<:AbstractArray{T, M}}\n├─ StaticArrays.TrivialView{A, T, 1} where {A, T}\n├─ StatsBase.AbstractWeights\n│ ├─ StatsBase.AnalyticWeights\n│ ├─ StatsBase.FrequencyWeights\n│ ├─ StatsBase.ProbabilityWeights\n│ ├─ StatsBase.UnitWeights\n│ └─ StatsBase.Weights\n├─ StructArrays.LazyRows{T, 1} where T\n├─ StructArrays.StructVector\n├─ SubArray{T, 1} where T\n├─ Tables.EmptyVector\n├─ Test.GenericArray{T, 1} where T\n└─ ZMQ.Message\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "using CUDA\nprint_subtypes(AbstractVector)",
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": "AbstractVector\n├─ AbstractFFTs.Frequencies\n├─ AbstractRange\n│ ├─ LinRange\n│ ├─ OrdinalRange\n│ │ ├─ AbstractUnitRange\n│ │ │ ├─ Base.IdentityUnitRange\n│ │ │ ├─ Base.OneTo\n│ │ │ ├─ Base.Slice\n│ │ │ ├─ StaticArrays.SOneTo\n│ │ │ └─ UnitRange\n│ │ └─ StepRange\n│ └─ StepRangeLen\n├─ BFloat16s.LowPrecArray{1}\n├─ Base.LogicalIndex\n├─ Base.ReinterpretArray{T, 1, S, A} where {T, S, A<:(AbstractArray{S})}\n├─ Base.ReshapedArray{T, 1} where T\n├─ BitVector\n├─ CartesianIndices{1, R} where R<:Tuple{OrdinalRange{Int64, Int64}}\n├─ Core.Compiler.AbstractRange\n│ ├─ Core.Compiler.LinRange\n│ ├─ Core.Compiler.OrdinalRange\n│ │ ├─ Core.Compiler.AbstractUnitRange\n│ │ │ ├─ Core.Compiler.IdentityUnitRange\n│ │ │ ├─ Core.Compiler.OneTo\n│ │ │ ├─ Core.Compiler.Slice\n│ │ │ ├─ Core.Compiler.StmtRange\n│ │ │ └─ Core.Compiler.UnitRange\n│ │ └─ Core.Compiler.StepRange\n│ └─ Core.Compiler.StepRangeLen\n├─ Core.Compiler.BitArray{1}\n├─ Core.Compiler.LinearIndices{1, R} where R<:Tuple{Core.Compiler.AbstractUnitRange{Int64}}\n├─ CuDeviceTexture{T, 1} where T\n├─ CuDeviceVector\n├─ CuTexture{T, 1} where T\n├─ DataStructures.CircularBuffer\n├─ DataStructures.DiBitVector\n├─ DenseVector\n│ ├─ Base.CodeUnits\n│ ├─ Base.Experimental.Const{T, 1} where T\n│ ├─ CUDA.Const{T, 1} where T\n│ ├─ GPUArrays.AbstractDeviceArray{T, 1} where T\n│ ├─ GPUArrays.AbstractGPUArray{T, 1} where T\n│ │ └─ CuArray{T, 1} where T\n│ ├─ Random.UnsafeView\n│ ├─ SharedArrays.SharedVector\n│ └─ Vector\n├─ GeometryBasics.AbstractMesh\n│ ├─ GeometryBasics.Mesh\n│ └─ GeometryBasics.MeshMeta\n├─ GeometryBasics.FaceView\n├─ GeometryBasics.LineString\n├─ GeometryBasics.LineStringMeta\n├─ GeometryBasics.MultiLineString\n├─ GeometryBasics.MultiLineStringMeta\n├─ GeometryBasics.MultiPoint\n├─ GeometryBasics.MultiPointMeta\n├─ GeometryBasics.MultiPolygon\n├─ GeometryBasics.MultiPolygonMeta\n├─ GeometryBasics.TupleView\n├─ LinearIndices{1, R} where R<:Tuple{AbstractUnitRange{Int64}}\n├─ PermutedDimsArray{T, 1} where T\n├─ SparseArrays.AbstractSparseVector\n│ ├─ CUDA.CUSPARSE.AbstractCuSparseArray{Tv, 1} where Tv\n│ │ └─ CUDA.CUSPARSE.CuSparseVector\n│ └─ SparseArrays.SparseVector\n├─ StaticArrays.StaticArray{S, T, 1} where {S<:Tuple, T}\n│ ├─ GeometryBasics.AbstractFace\n│ │ ├─ GeometryBasics.AbstractNgonFace\n│ │ │ ├─ GeometryBasics.NgonFace\n│ │ │ └─ GeometryBasics.NgonFaceMeta\n│ │ └─ GeometryBasics.AbstractSimplexFace\n│ │ ├─ GeometryBasics.SimplexFace\n│ │ └─ GeometryBasics.SimplexFaceMeta\n│ ├─ GeometryBasics.AbstractPoint\n│ │ ├─ GeometryBasics.Point\n│ │ └─ GeometryBasics.PointMeta\n│ ├─ GeometryBasics.AbstractSimplex\n│ ├─ GeometryBasics.Vec\n│ ├─ StaticArrays.FieldArray{N, T, 1} where {N<:Tuple, T}\n│ │ └─ StaticArrays.FieldVector\n│ ├─ StaticArrays.MArray{S, T, 1} where {S<:Tuple, T}\n│ ├─ StaticArrays.SArray{S, T, 1} where {S<:Tuple, T}\n│ ├─ StaticArrays.SUnitRange\n│ └─ StaticArrays.SizedArray{S, T, 1, M, TData} where {S<:Tuple, T, M, TData<:AbstractArray{T, M}}\n├─ StaticArrays.TrivialView{A, T, 1} where {A, T}\n├─ StatsBase.AbstractWeights\n│ ├─ StatsBase.AnalyticWeights\n│ ├─ StatsBase.FrequencyWeights\n│ ├─ StatsBase.ProbabilityWeights\n│ ├─ StatsBase.UnitWeights\n│ └─ StatsBase.Weights\n├─ StructArrays.LazyRows{T, 1} where T\n├─ StructArrays.StructVector\n├─ SubArray{T, 1} where T\n├─ Tables.EmptyVector\n├─ Test.GenericArray{T, 1} where T\n└─ ZMQ.Message\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "julia-1.7-depwarn-o3",
"display_name": "Julia 1.7.0-DEV depwarn -O3",
"language": "julia"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"language_info": {
"file_extension": ".jl",
"name": "julia",
"mimetype": "application/julia",
"version": "1.7.0"
},
"gist": {
"id": "0a048bb816b05b4d995b9d2b913e797f",
"data": {
"description": "print_subtypes",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/0a048bb816b05b4d995b9d2b913e797f"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment