Move docs onto macro
This commit is contained in:
parent
fac02dd19a
commit
721288a024
@ -1,45 +1,4 @@
|
|||||||
//! Types dealing with ranges of values
|
//! Types dealing with ranges of values
|
||||||
//!
|
|
||||||
//! # Macros
|
|
||||||
//!
|
|
||||||
//! The `quote!` macro can make it easier to create ranges. It roughly mirrors
|
|
||||||
//! traditional mathematic range syntax.
|
|
||||||
//!
|
|
||||||
//! # Note
|
|
||||||
//!
|
|
||||||
//! The `Range`, `RangeBound`, `Inclusive`, and `Exclusive` types must be
|
|
||||||
//! directly usable at the location the macro is used.
|
|
||||||
//!
|
|
||||||
//! ```rust
|
|
||||||
//! #[feature(phase)];
|
|
||||||
//!
|
|
||||||
//! #[phase(syntax, link)]
|
|
||||||
//! extern crate postgres;
|
|
||||||
//!
|
|
||||||
//! use postgres::types::range::{Range, RangeBound, Inclusive, Exclusive};
|
|
||||||
//!
|
|
||||||
//! fn main() {
|
|
||||||
//! # let mut r: Range<i32>;
|
|
||||||
//! // a closed interval
|
|
||||||
//! r = range!('[' 5i32, 10i32 ']');
|
|
||||||
//! // an open interval
|
|
||||||
//! r = range!('(' 5i32, 10i32 ')');
|
|
||||||
//! // half-open intervals
|
|
||||||
//! r = range!('(' 5i32, 10i32 ']');
|
|
||||||
//! r = range!('[' 5i32, 10i32 ')');
|
|
||||||
//! // a closed lower-bounded interval
|
|
||||||
//! r = range!('[' 5i32, ')');
|
|
||||||
//! // an open lower-bounded interval
|
|
||||||
//! r = range!('(' 5i32, ')');
|
|
||||||
//! // a closed upper-bounded interval
|
|
||||||
//! r = range!('(', 10i32 ']');
|
|
||||||
//! // an open upper-bounded interval
|
|
||||||
//! r = range!('(', 10i32 ')');
|
|
||||||
//! // an unbounded interval
|
|
||||||
//! r = range!('(', ')');
|
|
||||||
//! // an empty interval
|
|
||||||
//! r = range!(empty);
|
|
||||||
//! }
|
|
||||||
#[macro_escape];
|
#[macro_escape];
|
||||||
|
|
||||||
extern crate extra;
|
extern crate extra;
|
||||||
@ -49,6 +8,46 @@ use std::i32;
|
|||||||
use std::i64;
|
use std::i64;
|
||||||
use extra::time::Timespec;
|
use extra::time::Timespec;
|
||||||
|
|
||||||
|
/// The `quote!` macro can make it easier to create ranges. It roughly mirrors
|
||||||
|
/// traditional mathematic range syntax.
|
||||||
|
///
|
||||||
|
/// # Note
|
||||||
|
///
|
||||||
|
/// The `Range`, `RangeBound`, `Inclusive`, and `Exclusive` types must be
|
||||||
|
/// directly usable at the location the macro is used.
|
||||||
|
///
|
||||||
|
/// # Example
|
||||||
|
///
|
||||||
|
/// ```rust
|
||||||
|
/// #[feature(phase)];
|
||||||
|
///
|
||||||
|
/// #[phase(syntax, link)]
|
||||||
|
/// extern crate postgres;
|
||||||
|
///
|
||||||
|
/// use postgres::types::range::{Range, RangeBound, Inclusive, Exclusive};
|
||||||
|
///
|
||||||
|
/// fn main() {
|
||||||
|
/// # let mut r: Range<i32>;
|
||||||
|
/// // a closed interval
|
||||||
|
/// r = range!('[' 5i32, 10i32 ']');
|
||||||
|
/// // an open interval
|
||||||
|
/// r = range!('(' 5i32, 10i32 ')');
|
||||||
|
/// // half-open intervals
|
||||||
|
/// r = range!('(' 5i32, 10i32 ']');
|
||||||
|
/// r = range!('[' 5i32, 10i32 ')');
|
||||||
|
/// // a closed lower-bounded interval
|
||||||
|
/// r = range!('[' 5i32, ')');
|
||||||
|
/// // an open lower-bounded interval
|
||||||
|
/// r = range!('(' 5i32, ')');
|
||||||
|
/// // a closed upper-bounded interval
|
||||||
|
/// r = range!('(', 10i32 ']');
|
||||||
|
/// // an open upper-bounded interval
|
||||||
|
/// r = range!('(', 10i32 ')');
|
||||||
|
/// // an unbounded interval
|
||||||
|
/// r = range!('(', ')');
|
||||||
|
/// // an empty interval
|
||||||
|
/// r = range!(empty);
|
||||||
|
/// }
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! range(
|
macro_rules! range(
|
||||||
(empty) => (Range::empty());
|
(empty) => (Range::empty());
|
||||||
|
Loading…
Reference in New Issue
Block a user