Cargo Features
[dependencies]
strs_tools = { version = "0.32.0", default-features = false, features = ["full", "enabled", "string_indentation", "string_isolate", "string_split", "string_parse_number", "string_parse_request", "simd", "specialized_algorithms", "compile_time_optimizations", "std", "no_std", "use_alloc", "indentation", "isolate", "split", "parse_number", "parse_request", "string_parse"] }
- default = compile_time_optimizations, enabled, no_std, string_indentation, string_isolate, string_parse_number, string_split, use_alloc
-
Default feature set - no_std compatible with essential functionality For std environments with SIMD, use "full" feature set instead
- full = compile_time_optimizations, enabled, simd, specialized_algorithms, std, string_indentation, string_isolate, string_parse_number, string_parse_request, string_split
-
Full feature set - includes everything for maximum functionality in std environments
- enabled default full? string_indentation string_isolate string_parse_number string_parse_request? string_split
-
========================================
CORE FEATURES (granular control)
========================================
Minimal functionality - required for all other featuresEnables enabled of strs_tools_meta
Compile-time optimization macros
Affects
strs_tools::string
,strs_tools::own
,strs_tools::orphan
,strs_tools::exposed
,strs_tools::prelude
,strs_tools::simd
… - string_indentation default full? indentation? = enabled
-
String indentation functionality
Affects
string::indentation
… - string_isolate default full? isolate? string_parse_request? = enabled
-
String isolation functionality (left/right/between extraction)
Affects
string::isolate
,parse_request::private.request_parse
… - string_split default full? specialized_algorithms? split? string_parse_request? = enabled
-
String splitting functionality (core splitting algorithms)
Affects
simd::SimdStringExt.simd_split
,string::split
,string::zero_copy
,string::parser
,string::specialized
,parse_request::private.request_parse
… - string_parse_number default full? parse_number? = enabled
-
Number parsing functionality
Enables lexical
Affects
string::number
… - string_parse_request full? parse_request? string_parse? = enabled, string_isolate, string_split
-
Request parsing functionality (depends on string_split + string_isolate)
Affects
string::parse_request
… - simd full? = std
-
========================================
PERFORMANCE FEATURES (optional optimizations)
========================================
SIMD acceleration for all applicable algorithms
When enabled: uses vectorized operations, runtime CPU detection When disabled: uses scalar fallbacks, smaller binary size Note: SIMD features are std-only due to runtime CPU detection requirementsEnables bytecount and lazy_static, perf-literal and std of aho-corasick and std of memchr
SIMD optimization dependencies (optional)
When simd feature is disabled, these dependencies are not included at all When simd feature is enabled, these dependencies use their SIMD-optimized featuresAffects
simd::utils.simd_available
,strs_tools::simd
,simd::SIMDSplitIterator
,simd::get_or_create_cached_patterns
,simd::simd_split_cached
…Required by the simd_test binary
- specialized_algorithms full? = string_split
-
Task 007 specialized algorithms (SingleChar, Boyer-Moore, smart selection)
Requires string_split as base functionalityAffects
string::specialized
… - compile_time_optimizations default full?
-
Compile-time pattern optimizations using proc macros
Enables strs_tools_meta
- std full? simd?
-
========================================
ENVIRONMENT FEATURES (platform control)
========================================
Standard library support - enables std-dependent features like SIMD and parsing Mutually exclusive with no_std - when both enabled, std takes precedenceAffects
simd::SimdStringExt.simd_split
,string::indentation
,string::isolate
,string::number
,string::parse_request
,string::split
,string::zero_copy
,string::parser
,simd::SIMDSplitIterator
,simd::get_or_create_cached_patterns
,simd::simd_split_cached
,string::specialized
,parse_request::private.request_parse
… - no_std default use_alloc
-
no_std compatibility (default) - core functionality without std dependency Provides essential string manipulation in embedded/constrained environments Compatible with alloc for heap-allocated operations via use_alloc feature
- use_alloc default = no_std
-
Enables alloc-based functionality in no_std environments
- indentation = string_indentation
-
========================================
COMPATIBILITY ALIASES (short names for convenience)
========================================
Short aliases for common features - isolate = string_isolate
- split = string_split
- parse_number = string_parse_number
- parse_request = string_parse_request
- string_parse = string_parse_request
-
Additional alias