pub enum Competitor {
ClaudeCode,
Codex,
OpenCode,
Cursor,
Copilot,
Aider,
}Expand description
A competing AI coding tool with known per-token pricing.
Variants§
Implementations§
Source§impl Competitor
impl Competitor
Sourcepub fn display_name(&self) -> &str
pub fn display_name(&self) -> &str
Human-readable name for display.
Sourcepub fn price_per_mtok(&self) -> (f64, f64)
pub fn price_per_mtok(&self) -> (f64, f64)
Cost per million tokens — (input, output) in USD. Prices as of 2026-06. Conservative estimates (list price, no bulk discount).
Sourcepub fn estimate_cost(&self, tokens: &TokenUsage) -> f64
pub fn estimate_cost(&self, tokens: &TokenUsage) -> f64
Compute what this competitor would have charged for the given token usage.
Trait Implementations§
Source§impl Clone for Competitor
impl Clone for Competitor
Source§fn clone(&self) -> Competitor
fn clone(&self) -> Competitor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for Competitor
Source§impl Debug for Competitor
impl Debug for Competitor
impl Eq for Competitor
Source§impl PartialEq for Competitor
impl PartialEq for Competitor
Source§fn eq(&self, other: &Competitor) -> bool
fn eq(&self, other: &Competitor) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for Competitor
Auto Trait Implementations§
impl Freeze for Competitor
impl RefUnwindSafe for Competitor
impl Send for Competitor
impl Sync for Competitor
impl Unpin for Competitor
impl UnsafeUnpin for Competitor
impl UnwindSafe for Competitor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more