rustr/
lib.rs

1#![cfg_attr(feature = "dev", feature(plugin))]
2#![cfg_attr(feature = "dev", plugin(clippy))]
3
4/// rustr version
5/// 
6#[macro_export]
7macro_rules! rustr_version{
8    () => (
9	{
10		let mar = 0 * 10000000;
11    	let min = 1 * 100000;
12    	let rev = 0 * 1000;
13    	let dev = 0 * 1;
14    	mar + min + rev + dev
15	})
16}
17
18// ///////////////////// begin mod
19
20#[macro_use]
21pub mod macros;
22
23#[allow(non_camel_case_types,non_upper_case_globals,non_snake_case)]
24#[cfg_attr(feature = "dev",allow(type_complexity,expl_impl_clone_on_copy,used_underscore_binding))]
25pub mod rdll;
26pub mod protect;
27pub mod storage;
28pub mod rtype;
29#[macro_use]
30pub mod util;
31
32pub mod traits;
33pub mod grow;
34pub mod lcons;
35pub mod rlang;
36pub mod formula;
37pub mod dotpair;
38
39pub mod impls;
40
41
42
43#[macro_use]
44#[allow(non_camel_case_types,non_upper_case_globals,non_snake_case)]
45pub mod rwrap;
46pub mod complex;
47pub mod rptr;
48pub mod rweak;
49pub mod result;
50pub mod error;
51pub mod eval;
52pub mod rcast;
53
54pub mod vector;
55pub mod vectorx;
56
57pub mod name_object;
58// pub mod caster_complex; //num crate
59
60pub mod robject;
61pub mod symbol;
62pub mod promise;
63pub mod s4;
64pub mod reference;
65pub mod rmath;
66pub mod environment;
67pub mod rfunction;
68pub mod rchar;
69
70pub mod dll;
71pub use dll::*;
72pub mod rstatic;
73
74// begin feature
75
76#[cfg(feature = "date")]
77extern crate chrono;
78
79#[cfg(feature = "random")]
80extern crate rand;
81
82#[cfg(feature = "logging")]
83extern crate log;
84
85pub mod feature {
86
87    //! Features
88    //!
89    //!
90    //!
91
92    // TODO: Function Date Date meat
93    #[cfg(feature = "date")]
94    pub mod date;
95    #[cfg(feature = "date")]
96    pub mod datetime;
97	#[cfg(feature = "engine")]
98    pub mod engine;
99	#[cfg(feature = "random")]
100    pub mod random;
101	#[cfg(feature = "logging")]
102    pub mod log;
103}
104
105#[cfg(feature = "ty_nalgebra")]
106extern crate nalgebra;
107
108#[cfg(any(feature = "ty_num",feature = "ty_nalgebra"))]
109extern crate num;
110
111pub mod types {
112
113    //! Types from other crates
114    //!
115    //!
116    //!
117	#[cfg(feature = "ty_nalgebra")]
118    pub mod nalgebra;
119	#[cfg(feature = "ty_num")]
120    pub mod num;
121}
122
123pub mod sugar {
124    //! Sugar for rustr
125    use error::RResult;
126    pub type RR<T> = RResult<T>;
127}
128
129pub use traits::*;
130pub use error::*;
131pub use macros::*;
132pub use vector::*;
133pub use rtype::*;
134pub use rdll::*;
135pub use protect::stackp::*;
136pub use storage::*;
137pub use rfunction::*;
138pub use environment::*;
139pub use robject::*;
140pub use vectorx::*;
141pub use util::rprint;
142pub use rchar::*;
143