Skip to content

Commit 721288a

Browse files
committed
Move docs onto macro
1 parent fac02dd commit 721288a

1 file changed

Lines changed: 40 additions & 41 deletions

File tree

src/types/range.rs

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,4 @@
11
//! Types dealing with ranges of values
2-
//!
3-
//! # Macros
4-
//!
5-
//! The `quote!` macro can make it easier to create ranges. It roughly mirrors
6-
//! traditional mathematic range syntax.
7-
//!
8-
//! # Note
9-
//!
10-
//! The `Range`, `RangeBound`, `Inclusive`, and `Exclusive` types must be
11-
//! directly usable at the location the macro is used.
12-
//!
13-
//! ```rust
14-
//! #[feature(phase)];
15-
//!
16-
//! #[phase(syntax, link)]
17-
//! extern crate postgres;
18-
//!
19-
//! use postgres::types::range::{Range, RangeBound, Inclusive, Exclusive};
20-
//!
21-
//! fn main() {
22-
//! # let mut r: Range<i32>;
23-
//! // a closed interval
24-
//! r = range!('[' 5i32, 10i32 ']');
25-
//! // an open interval
26-
//! r = range!('(' 5i32, 10i32 ')');
27-
//! // half-open intervals
28-
//! r = range!('(' 5i32, 10i32 ']');
29-
//! r = range!('[' 5i32, 10i32 ')');
30-
//! // a closed lower-bounded interval
31-
//! r = range!('[' 5i32, ')');
32-
//! // an open lower-bounded interval
33-
//! r = range!('(' 5i32, ')');
34-
//! // a closed upper-bounded interval
35-
//! r = range!('(', 10i32 ']');
36-
//! // an open upper-bounded interval
37-
//! r = range!('(', 10i32 ')');
38-
//! // an unbounded interval
39-
//! r = range!('(', ')');
40-
//! // an empty interval
41-
//! r = range!(empty);
42-
//! }
432
#[macro_escape];
443

454
extern crate extra;
@@ -49,6 +8,46 @@ use std::i32;
498
use std::i64;
509
use extra::time::Timespec;
5110

11+
/// The `quote!` macro can make it easier to create ranges. It roughly mirrors
12+
/// traditional mathematic range syntax.
13+
///
14+
/// # Note
15+
///
16+
/// The `Range`, `RangeBound`, `Inclusive`, and `Exclusive` types must be
17+
/// directly usable at the location the macro is used.
18+
///
19+
/// # Example
20+
///
21+
/// ```rust
22+
/// #[feature(phase)];
23+
///
24+
/// #[phase(syntax, link)]
25+
/// extern crate postgres;
26+
///
27+
/// use postgres::types::range::{Range, RangeBound, Inclusive, Exclusive};
28+
///
29+
/// fn main() {
30+
/// # let mut r: Range<i32>;
31+
/// // a closed interval
32+
/// r = range!('[' 5i32, 10i32 ']');
33+
/// // an open interval
34+
/// r = range!('(' 5i32, 10i32 ')');
35+
/// // half-open intervals
36+
/// r = range!('(' 5i32, 10i32 ']');
37+
/// r = range!('[' 5i32, 10i32 ')');
38+
/// // a closed lower-bounded interval
39+
/// r = range!('[' 5i32, ')');
40+
/// // an open lower-bounded interval
41+
/// r = range!('(' 5i32, ')');
42+
/// // a closed upper-bounded interval
43+
/// r = range!('(', 10i32 ']');
44+
/// // an open upper-bounded interval
45+
/// r = range!('(', 10i32 ')');
46+
/// // an unbounded interval
47+
/// r = range!('(', ')');
48+
/// // an empty interval
49+
/// r = range!(empty);
50+
/// }
5251
#[macro_export]
5352
macro_rules! range(
5453
(empty) => (Range::empty());

0 commit comments

Comments
 (0)