pub struct TokenCounter {}Expand description
Token counter for multiple LLM models
Provides unified interface for counting tokens across different models. Uses model-specific tokenizers internally.
Implementations§
Source§impl TokenCounter
impl TokenCounter
Sourcepub fn count_all(&self, text: &str) -> HashMap<ModelType, TokenInfo>
pub fn count_all(&self, text: &str) -> HashMap<ModelType, TokenInfo>
Count tokens for all supported models
Sourcepub fn count_primary_models(&self, text: &str) -> HashMap<ModelType, TokenInfo>
pub fn count_primary_models(&self, text: &str) -> HashMap<ModelType, TokenInfo>
Count tokens for the 4 primary models (OpenAI, Claude, Gemini, Other) as required by the token efficiency display feature.
Returns counts for:
- OpenAI (GPT-4o)
- Claude (Sonnet 4)
- Gemini (Gemini 3)
- Other (generic model)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TokenCounter
impl RefUnwindSafe for TokenCounter
impl Send for TokenCounter
impl Sync for TokenCounter
impl Unpin for TokenCounter
impl UnsafeUnpin for TokenCounter
impl UnwindSafe for TokenCounter
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.