Concrete type-erased string class.
Holds all string logic (write, append, find, replace, resize, hashing, …) and is directly constructible from a caller-provided buffer (char* + len) or fl::span<char>. fl::string is a thin wrapper that co-locates a default-sized inline buffer with the basic_string state and adds composite-type formatters (vec2, vector, span, …). See agents/docs/string-architecture.md.
Definition at line 44 of file basic_string.h.
|
| | basic_string (char *inlineBuffer, fl::size inlineCapacity) FL_NOEXCEPT |
| |
| | basic_string (fl::span< char, static_cast< fl::size >(-1)> storage) FL_NOEXCEPT |
| |
| | ~basic_string () FL_NOEXCEPT |
| |
| basic_string & | append (char c) FL_NOEXCEPT |
| |
| basic_string & | append (const basic_string &str) FL_NOEXCEPT |
| |
| basic_string & | append (const bool &val) FL_NOEXCEPT |
| |
| basic_string & | append (const char *str) FL_NOEXCEPT |
| |
| basic_string & | append (const char *str, fl::size len) FL_NOEXCEPT |
| |
| basic_string & | append (const double &val) FL_NOEXCEPT |
| |
| basic_string & | append (const float &val) FL_NOEXCEPT |
| |
| basic_string & | append (const float &val, int precision) FL_NOEXCEPT |
| |
| basic_string & | append (const i16 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const i32 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const i64 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const i8 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const u16 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const u32 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const u64 &val) FL_NOEXCEPT |
| |
| basic_string & | append (const u8 &val) FL_NOEXCEPT |
| |
| template<typename T> |
| fl::enable_if< fl::is_multi_byte_integer< T >::value &&!fl::is_same< T, i8 >::value &&!fl::is_same< T, u8 >::value &&!fl::is_same< T, i16 >::value &&!fl::is_same< T, u16 >::value &&!fl::is_same< T, i32 >::value &&!fl::is_same< T, u32 >::value &&!fl::is_same< T, i64 >::value &&!fl::is_same< T, u64 >::value, basic_string & >::type | append (T val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (i16 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (i32 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (i64 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (i8 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (u16 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (u32 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (u64 val) FL_NOEXCEPT |
| |
| basic_string & | appendHex (u8 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (i16 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (i32 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (i64 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (i8 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (u16 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (u32 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (u64 val) FL_NOEXCEPT |
| |
| basic_string & | appendOct (u8 val) FL_NOEXCEPT |
| |
| basic_string & | assign (basic_string &&str) FL_NOEXCEPT |
| |
| basic_string & | assign (const basic_string &str) FL_NOEXCEPT |
| |
| basic_string & | assign (const basic_string &str, fl::size pos, fl::size count=npos) FL_NOEXCEPT |
| |
| void | assign (const char *str, fl::size len) FL_NOEXCEPT |
| |
| basic_string & | assign (fl::size count, char c) FL_NOEXCEPT |
| |
| template<typename InputIt> |
| basic_string & | assign (InputIt first, InputIt last) FL_NOEXCEPT |
| |
| const char & | at (fl::size pos) const FL_NOEXCEPT |
| |
| char & | at (fl::size pos) FL_NOEXCEPT |
| |
| char | back () const FL_NOEXCEPT |
| |
| const_iterator | begin () const FL_NOEXCEPT |
| |
| iterator | begin () FL_NOEXCEPT |
| |
| const char * | c_str () const FL_NOEXCEPT |
| |
| char * | c_str_mutable () FL_NOEXCEPT |
| |
| fl::size | capacity () const FL_NOEXCEPT |
| |
| const_iterator | cbegin () const FL_NOEXCEPT |
| |
| const_iterator | cend () const FL_NOEXCEPT |
| |
| char | charAt (fl::size index) const FL_NOEXCEPT |
| |
| void | clear (bool freeMemory=false) FL_NOEXCEPT |
| |
| int | compare (const basic_string &str) const FL_NOEXCEPT |
| |
| int | compare (const char *s) const FL_NOEXCEPT |
| |
| int | compare (fl::size pos1, fl::size count1, const basic_string &str) const FL_NOEXCEPT |
| |
| int | compare (fl::size pos1, fl::size count1, const basic_string &str, fl::size pos2, fl::size count2=npos) const FL_NOEXCEPT |
| |
| int | compare (fl::size pos1, fl::size count1, const char *s) const FL_NOEXCEPT |
| |
| int | compare (fl::size pos1, fl::size count1, const char *s, fl::size count2) const FL_NOEXCEPT |
| |
| bool | contains (char c) const FL_NOEXCEPT |
| |
| bool | contains (const basic_string &other) const FL_NOEXCEPT |
| |
| bool | contains (const char *substr) const FL_NOEXCEPT |
| |
| fl::size | copy (char *dest, fl::size count, fl::size pos=0) const FL_NOEXCEPT |
| |
| void | copy (const basic_string &other) FL_NOEXCEPT |
| |
| void | copy (const char *str) FL_NOEXCEPT |
| |
| void | copy (const char *str, fl::size len) FL_NOEXCEPT |
| |
| const_reverse_iterator | crbegin () const FL_NOEXCEPT |
| |
| const_reverse_iterator | crend () const FL_NOEXCEPT |
| |
| const char * | data () const FL_NOEXCEPT |
| |
| bool | empty () const FL_NOEXCEPT |
| |
| const_iterator | end () const FL_NOEXCEPT |
| |
| iterator | end () FL_NOEXCEPT |
| |
| bool | ends_with (char c) const FL_NOEXCEPT |
| |
| bool | ends_with (const basic_string &suffix) const FL_NOEXCEPT |
| |
| bool | ends_with (const char *suffix) const FL_NOEXCEPT |
| |
| basic_string & | erase (fl::size pos=0, fl::size count=npos) FL_NOEXCEPT |
| |
| template<typename T> |
| fl::enable_if< fl::is_pointer< T >::value &&fl::is_same< typenamefl::remove_cv< typenamefl::remove_pointer< T >::type >::type, char >::value, char * >::type | erase (T first, T last) FL_NOEXCEPT |
| |
| template<typename T> |
| fl::enable_if< fl::is_pointer< T >::value &&fl::is_same< typenamefl::remove_cv< typenamefl::remove_pointer< T >::type >::type, char >::value, char * >::type | erase (T it_pos) FL_NOEXCEPT |
| |
| fl::size | find (const basic_string &other) const FL_NOEXCEPT |
| |
| fl::size | find (const basic_string &other, fl::size start_pos) const FL_NOEXCEPT |
| |
| fl::size | find (const char &value) const FL_NOEXCEPT |
| |
| fl::size | find (const char &value, fl::size start_pos) const FL_NOEXCEPT |
| |
| fl::size | find (const char *substr) const FL_NOEXCEPT |
| |
| fl::size | find (const char *substr, fl::size start_pos) const FL_NOEXCEPT |
| |
| fl::size | find_first_not_of (char c, fl::size pos=0) const FL_NOEXCEPT |
| |
| fl::size | find_first_not_of (const basic_string &str, fl::size pos=0) const FL_NOEXCEPT |
| |
| fl::size | find_first_not_of (const char *s, fl::size pos, fl::size count) const FL_NOEXCEPT |
| |
| fl::size | find_first_not_of (const char *s, fl::size pos=0) const FL_NOEXCEPT |
| |
| fl::size | find_first_of (char c, fl::size pos=0) const FL_NOEXCEPT |
| |
| fl::size | find_first_of (const basic_string &str, fl::size pos=0) const FL_NOEXCEPT |
| |
| fl::size | find_first_of (const char *s, fl::size pos, fl::size count) const FL_NOEXCEPT |
| |
| fl::size | find_first_of (const char *s, fl::size pos=0) const FL_NOEXCEPT |
| |
| fl::size | find_last_not_of (char c, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | find_last_not_of (const basic_string &str, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | find_last_not_of (const char *s, fl::size pos, fl::size count) const FL_NOEXCEPT |
| |
| fl::size | find_last_not_of (const char *s, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | find_last_of (char c, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | find_last_of (const basic_string &str, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | find_last_of (const char *s, fl::size pos, fl::size count) const FL_NOEXCEPT |
| |
| fl::size | find_last_of (const char *s, fl::size pos=npos) const FL_NOEXCEPT |
| |
| char | front () const FL_NOEXCEPT |
| |
| basic_string & | insert (fl::size pos, const basic_string &str) FL_NOEXCEPT |
| |
| basic_string & | insert (fl::size pos, const basic_string &str, fl::size pos2, fl::size count=npos) FL_NOEXCEPT |
| |
| basic_string & | insert (fl::size pos, const char *s) FL_NOEXCEPT |
| |
| basic_string & | insert (fl::size pos, const char *s, fl::size count) FL_NOEXCEPT |
| |
| basic_string & | insert (fl::size pos, fl::size count, char ch) FL_NOEXCEPT |
| |
| bool | is_literal () const FL_NOEXCEPT |
| |
| bool | is_owning () const FL_NOEXCEPT |
| |
| bool | is_referencing () const FL_NOEXCEPT |
| |
| bool | is_view () const FL_NOEXCEPT |
| |
| fl::size | length () const FL_NOEXCEPT |
| |
| fl::size | max_size () const FL_NOEXCEPT |
| |
| bool | operator!= (const basic_string &other) const FL_NOEXCEPT |
| |
| bool | operator!= (const char *other) const FL_NOEXCEPT |
| |
| bool | operator< (const basic_string &other) const FL_NOEXCEPT |
| |
| bool | operator<= (const basic_string &other) const FL_NOEXCEPT |
| |
| bool | operator== (const basic_string &other) const FL_NOEXCEPT |
| |
| bool | operator== (const char *other) const FL_NOEXCEPT |
| |
| bool | operator> (const basic_string &other) const FL_NOEXCEPT |
| |
| bool | operator>= (const basic_string &other) const FL_NOEXCEPT |
| |
| char | operator[] (fl::size index) const FL_NOEXCEPT |
| |
| char & | operator[] (fl::size index) FL_NOEXCEPT |
| |
| void | pop_back () FL_NOEXCEPT |
| |
| void | push_ascii (char c) FL_NOEXCEPT |
| |
| void | push_back (char c) FL_NOEXCEPT |
| |
| const_reverse_iterator | rbegin () const FL_NOEXCEPT |
| |
| reverse_iterator | rbegin () FL_NOEXCEPT |
| |
| const_reverse_iterator | rend () const FL_NOEXCEPT |
| |
| reverse_iterator | rend () FL_NOEXCEPT |
| |
| basic_string & | replace (fl::size pos, fl::size count, const basic_string &str) FL_NOEXCEPT |
| |
| basic_string & | replace (fl::size pos, fl::size count, const basic_string &str, fl::size pos2, fl::size count2=npos) FL_NOEXCEPT |
| |
| basic_string & | replace (fl::size pos, fl::size count, const char *s) FL_NOEXCEPT |
| |
| basic_string & | replace (fl::size pos, fl::size count, const char *s, fl::size count2) FL_NOEXCEPT |
| |
| basic_string & | replace (fl::size pos, fl::size count, fl::size count2, char ch) FL_NOEXCEPT |
| |
| void | reserve (fl::size newCapacity) FL_NOEXCEPT |
| |
| void | resize (fl::size count) FL_NOEXCEPT |
| |
| void | resize (fl::size count, char ch) FL_NOEXCEPT |
| |
| fl::size | rfind (char c, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | rfind (const basic_string &str, fl::size pos=npos) const FL_NOEXCEPT |
| |
| fl::size | rfind (const char *s, fl::size pos, fl::size count) const FL_NOEXCEPT |
| |
| fl::size | rfind (const char *s, fl::size pos=npos) const FL_NOEXCEPT |
| |
| void | shrink_to_fit () FL_NOEXCEPT |
| |
| fl::size | size () const FL_NOEXCEPT |
| |
| bool | starts_with (char c) const FL_NOEXCEPT |
| |
| bool | starts_with (const basic_string &prefix) const FL_NOEXCEPT |
| |
| bool | starts_with (const char *prefix) const FL_NOEXCEPT |
| |
| float | toFloat () const FL_NOEXCEPT |
| |
| fl::size | write (char c) FL_NOEXCEPT |
| |
| fl::size | write (const char *str, fl::size n) FL_NOEXCEPT |
| |
| fl::size | write (const fl::i32 &val) FL_NOEXCEPT |
| |
| fl::size | write (const fl::i8 val) FL_NOEXCEPT |
| |
| fl::size | write (const fl::u16 &n) FL_NOEXCEPT |
| |
| fl::size | write (const fl::u32 &val) FL_NOEXCEPT |
| |
| fl::size | write (const fl::u8 *data, fl::size n) FL_NOEXCEPT |
| |
| fl::size | write (const i64 &val) FL_NOEXCEPT |
| |
| template<typename T> |
| fl::enable_if< fl::is_multi_byte_integer< T >::value, fl::size >::type | write (const T &val) FL_NOEXCEPT |
| |
| fl::size | write (const u64 &val) FL_NOEXCEPT |
| |
| fl::size | write (fl::u8 c) FL_NOEXCEPT |
| |