Enum gong::ItemClass [] [src]

pub enum ItemClass<'a> {
    Ok(Item<'a>),
    Warn(ItemW<'a>),
    Err(ItemE<'a>),
}

The possible classes of items identified and extracted from command line arguments.

This breaks down items to three classes - okay/warn/error - with each variant holding an Item, ItemW or ItemE variant which more specifically represents what was found.

We use a class wrapper rather than grouping items into separate vectors because a single vector preserves order more simply. We break up item variants into groups for the advantages in matching.

All sub-variants hold a usize value to be used for indicating the index of the argument at which the item was found.

Most sub-variants also hold additional data. Long option sub-variants hold a string slice reference to the matched option. Short option sub-variants hold the char matched. Options with data arguments additionally hold a string slice reference to the data string matched, and in some cases also a DataLocation variant. The NonOption sub-variant holds a string slice reference to the matched string.

Variants

Non-problematic item

Warn-level item

Error-level item

Trait Implementations

impl<'a> Debug for ItemClass<'a>
[src]

[src]

Formats the value using the given formatter.

impl<'a> Clone for ItemClass<'a>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<'a> Copy for ItemClass<'a>
[src]

impl<'a> PartialEq for ItemClass<'a>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl<'a> Eq for ItemClass<'a>
[src]