dynamic 0.2.1

A dyanmically typed value with fast downcasting.
Documentation
  • Coverage
  • 100%
    14 out of 14 items documented0 out of 12 items with examples
  • Size
  • Source code size: 7.78 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.72 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • reem/rust-dynamic
    28 3 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • reem

dynamic

A dyanmically typed value with fast downcasting.

Documentation

Provides a Dynamic type, which contains a dynamically typed value. Dynamic is similar to Any from std::any::Any, except that downcasting does not involve any virtual calls since the TypeId of the contained value is pre-computed.

Example

extern crate dynamic;

use dynamic::Dynamic;

fn main() {
    // Create a new Dynamic value.
    let x = Dynamic::new(100usize);

    // If we try to downcast to the wrong type it will not work.
    assert_eq!(x.downcast_ref::<i32>(), None);

    // If we downcast to the right type, we get access.
    assert_eq!(x.downcast_ref::<usize>(), Some(&100usize));
}

Usage

Use the crates.io repository; add this to your Cargo.toml along with the rest of your dependencies:

[dependencies]
dynamic = "0.2"

Author

Jonathan Reem is the primary author and maintainer of dynamic.

License

MIT