scalan
package scalan
- Alphabetic
- By Inheritance
- scalan
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
final
class
AVHashMap[K, V] extends AnyVal
Allocation free alternative to scala.collection.mutable.Map with similar interface.
Allocation free alternative to scala.collection.mutable.Map with similar interface. This simplifies optimization of performance critical code.
- class Builtin extends Annotation with Annotation with ClassfileAnnotation
- class Constructor extends Annotation with Annotation with ClassfileAnnotation
- class ContainerType extends Annotation with Annotation with ClassfileAnnotation
- class Convertible extends Annotation with Annotation with ClassfileAnnotation
-
abstract
class
DFunc[A, B] extends AnyRef
Function interface which support specialization and thus unboxed invocations.
-
class
DFuncAdapter[A, B] extends DFunc[A, B]
Convenient but SLOW adapter to be used in tests.
-
class
DelayInvokeException extends Exception
Can be thrown in staged method body to prevent body unfolding.
Can be thrown in staged method body to prevent body unfolding. When this exception is thrown, the caller can catch it and reify this invocation as MethodCall graph node.
- class External extends Annotation with Annotation with ClassfileAnnotation
- class FunctorType extends Annotation with Annotation with ClassfileAnnotation
- class InlineAt extends Annotation with Annotation with ClassfileAnnotation
- class Internal extends Annotation with Annotation with ClassfileAnnotation
- class Isospec extends Annotation with Annotation with ClassfileAnnotation
-
class
Lazy[A] extends AnyRef
Non-thread safe (but efficient on single thread) immutable lazy value.
Non-thread safe (but efficient on single thread) immutable lazy value. The
block
is executed only once. - class Liftable extends Annotation with Annotation with ClassfileAnnotation
-
case class
ModuleInfo(packageName: String, moduleName: String, extension: String = ".scalan") extends Product with Serializable
Information about generated Special library module.
Information about generated Special library module. Instances are created in generated code.
- See also
*Impl.scala files
-
final
class
MutableLazy[A] extends AnyRef
Non-thread safe (but efficient on single thread) immutable lazy value with reset.
Non-thread safe (but efficient on single thread) immutable lazy value with reset. The
block
may execute potentially many times, but only once before each reset. - class NeverInline extends Annotation with Annotation with ClassfileAnnotation
-
final
class
Nullable[+T] extends AnyVal
Allocation free alternative to scala.Option with similar interface.
Allocation free alternative to scala.Option with similar interface. Using this in recognizers allows: 1) to avoid allocation of Some(x) 2) reading random memory location (where Some is stored) to access x
- class OverloadId extends Annotation with Annotation with ClassfileAnnotation
-
abstract
class
RType[A] extends AnyRef
Base type for all runtime type descriptors.
Base type for all runtime type descriptors.
- Annotations
- @implicitNotFound( "No Elem available for ${A}." )
- class Reified extends Annotation with Annotation with ClassfileAnnotation
- class Typeclass extends Annotation with StaticAnnotation
- class WithMethodCallRecognizers extends Annotation with Annotation with ClassfileAnnotation
-
trait
WrapSpec extends AnyRef
Base type for all wrapper specification classes.
Base type for all wrapper specification classes.
- See also
OptionWrapSpec as an example
Value Members
-
implicit
def
rtypeToClassTag[A](implicit t: RType[A]): ClassTag[A]
Allows implicit resolution to find appropriate instance of ClassTag in the scope where RType is implicitly available.
- object AVHashMap
- object Lazy
- object MutableLazy
- object Nullable
-
object
OverloadHack
Scala specific trick to appease erasure of methods argument types.
Scala specific trick to appease erasure of methods argument types. Example usage: def m1(l: List[Int])(implicit o: Overloaded1) def m2(l: List[String])(implicit o: Overloaded2) Without the implicit arguments the methods would have identical signatures after erasure, which is a compilation time error.
- object RType