mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-02-04 21:33:56 +00:00
add doc: basic_string index
This commit is contained in:
parent
dd0c5f4dbb
commit
260291ea69
19 changed files with 2073 additions and 405 deletions
|
@ -22,8 +22,8 @@ array
|
|||
size
|
||||
max_size
|
||||
empty
|
||||
at
|
||||
operator-subscript
|
||||
at
|
||||
front
|
||||
back
|
||||
data
|
||||
|
@ -34,71 +34,7 @@ Interface
|
|||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
class array {
|
||||
// types:
|
||||
typedef T& reference;
|
||||
typedef T const& const_reference;
|
||||
typedef /*implementation-defined*/ iterator;
|
||||
typedef /*implementation-defined*/ const_iterator;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T const* const_pointer;
|
||||
typedef sprout::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef sprout::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// constants:
|
||||
SPROUT_STATIC_CONSTEXPR size_type static_size = N;
|
||||
|
||||
T elems[N ? N : 1]; // exposition only
|
||||
|
||||
// construct/copy/destroy:
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N> const& rhs);
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N>&& rhs);
|
||||
|
||||
// modifiers:
|
||||
void fill(const_reference value);
|
||||
SPROUT_CONSTEXPR array fill(const_reference value) const;
|
||||
void assign(const_reference value);
|
||||
SPROUT_CONSTEXPR array assign(const_reference value) const;
|
||||
void swap(array&) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::swap(std::declval<T&>(), std::declval<T&>())));
|
||||
|
||||
// iterators:
|
||||
iterator begin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator begin() const SPROUT_NOEXCEPT;
|
||||
iterator end() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator end() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rbegin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rbegin() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rend() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crend() const SPROUT_NOEXCEPT;
|
||||
|
||||
// capacity:
|
||||
SPROUT_CONSTEXPR size_type size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type max_size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR bool empty() const SPROUT_NOEXCEPT;
|
||||
|
||||
// element access:
|
||||
reference operator[](size_type n);
|
||||
SPROUT_CONSTEXPR const_reference operator[](size_type n) const;
|
||||
reference at(size_type n);
|
||||
SPROUT_CONSTEXPR const_reference at(size_type n) const;
|
||||
reference front();
|
||||
SPROUT_CONSTEXPR const_reference front() const;
|
||||
reference back();
|
||||
SPROUT_CONSTEXPR const_reference back() const;
|
||||
pointer data() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer data() const SPROUT_NOEXCEPT;
|
||||
pointer c_array() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer c_array() const SPROUT_NOEXCEPT;
|
||||
};
|
||||
class array;
|
||||
|
||||
Description
|
||||
========================================
|
||||
|
@ -205,3 +141,73 @@ Header
|
|||
|
||||
Convenience header: ``sprout/array.hpp``
|
||||
|
||||
Interface of all
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
class array {
|
||||
// types:
|
||||
typedef T& reference;
|
||||
typedef T const& const_reference;
|
||||
typedef /*implementation-defined*/ iterator;
|
||||
typedef /*implementation-defined*/ const_iterator;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T const* const_pointer;
|
||||
typedef sprout::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef sprout::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// constants:
|
||||
SPROUT_STATIC_CONSTEXPR size_type static_size = N;
|
||||
|
||||
T elems[N ? N : 1]; // exposition only
|
||||
|
||||
// construct/copy/destroy:
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N> const& rhs);
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N>&& rhs);
|
||||
|
||||
// modifiers:
|
||||
void fill(const_reference value);
|
||||
SPROUT_CONSTEXPR array fill(const_reference value) const;
|
||||
void assign(const_reference value);
|
||||
SPROUT_CONSTEXPR array assign(const_reference value) const;
|
||||
void swap(array&) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::swap(std::declval<T&>(), std::declval<T&>())));
|
||||
|
||||
// iterators:
|
||||
iterator begin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator begin() const SPROUT_NOEXCEPT;
|
||||
iterator end() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator end() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rbegin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rbegin() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rend() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crend() const SPROUT_NOEXCEPT;
|
||||
|
||||
// capacity:
|
||||
SPROUT_CONSTEXPR size_type size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type max_size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR bool empty() const SPROUT_NOEXCEPT;
|
||||
|
||||
// element access:
|
||||
reference operator[](size_type n);
|
||||
SPROUT_CONSTEXPR const_reference operator[](size_type n) const;
|
||||
reference at(size_type n);
|
||||
SPROUT_CONSTEXPR const_reference at(size_type n) const;
|
||||
reference front();
|
||||
SPROUT_CONSTEXPR const_reference front() const;
|
||||
reference back();
|
||||
SPROUT_CONSTEXPR const_reference back() const;
|
||||
pointer data() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer data() const SPROUT_NOEXCEPT;
|
||||
pointer c_array() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer c_array() const SPROUT_NOEXCEPT;
|
||||
};
|
||||
|
|
402
docs/_sources/libs/string/basic_string/index.txt
Normal file
402
docs/_sources/libs/string/basic_string/index.txt
Normal file
|
@ -0,0 +1,402 @@
|
|||
.. _sprout-string-basic_string:
|
||||
###############################################################################
|
||||
basic_string
|
||||
###############################################################################
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
constructor-
|
||||
operator-assign
|
||||
begin
|
||||
end
|
||||
rbegin
|
||||
rend
|
||||
cbegin
|
||||
cend
|
||||
crbegin
|
||||
crend
|
||||
size
|
||||
length
|
||||
max_size
|
||||
resize
|
||||
clear
|
||||
empty
|
||||
operator-subscript
|
||||
at
|
||||
front
|
||||
back
|
||||
assign
|
||||
swap
|
||||
data
|
||||
c_array
|
||||
data
|
||||
find
|
||||
rfind
|
||||
find_first_of
|
||||
find_last_of
|
||||
find_first_not_of
|
||||
find_last_not_of
|
||||
substr
|
||||
compare
|
||||
operator-std-basic_string
|
||||
operator-assign-iterator
|
||||
assign-iterator
|
||||
find-iterator
|
||||
rfind-iterator
|
||||
find_first_of-iterator
|
||||
find_last_of-iterator
|
||||
find_first_not_of-iterator
|
||||
find_last_not_of-iterator
|
||||
compare-iterator
|
||||
|
||||
Interface
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N, typename Traits = sprout::char_traits<T> >
|
||||
class basic_string;
|
||||
|
||||
Description
|
||||
========================================
|
||||
|
||||
Member types
|
||||
----------------------------------------
|
||||
|
||||
======================================== =============================================================================== =======================================
|
||||
type definition note
|
||||
======================================== =============================================================================== =======================================
|
||||
traits_type Traits
|
||||
value_type Traits::char_type
|
||||
size_type std::size_t
|
||||
difference_type std::ptrdiff_t
|
||||
reference value_type&
|
||||
const_reference value_type const&
|
||||
pointer value_type*
|
||||
const_pointer value_type const*
|
||||
iterator **ConstexprRandomAccessIterator** convertible to const_iterator,
|
||||
convertible to pointer
|
||||
const_iterator **ConstexprRandomAccessIterator** convertible to const_pointer
|
||||
reverse_iterator sprout::reverse_iterator<iterator>,
|
||||
**ConstexprRandomAccessIterator**
|
||||
const_reverse_iterator sprout::reverse_iterator<const_iterator>,
|
||||
**ConstexprRandomAccessIterator**
|
||||
======================================== =============================================================================== =======================================
|
||||
|
||||
Member functions
|
||||
----------------------------------------
|
||||
|
||||
construct/copy/destroy
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`(constructor) <./constructor->`
|
||||
:doc:`operator= <./operator-assign>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
iterators
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`begin <./begin>`
|
||||
:doc:`end <./end>`
|
||||
:doc:`rbegin <./rbegin>`
|
||||
:doc:`rend <./rend>`
|
||||
:doc:`cbegin <./cbegin>`
|
||||
:doc:`cend <./cend>`
|
||||
:doc:`crbegin <./crbegin>`
|
||||
:doc:`crend <./crend>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
capacity
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`size <./size>`
|
||||
:doc:`length <./length>`
|
||||
:doc:`max_size <./max_size>`
|
||||
:doc:`resize <./resize>`
|
||||
:doc:`clear <./clear>`
|
||||
:doc:`empty <./empty>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
element access
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`operator[] <./operator-subscript>`
|
||||
:doc:`at <./at>`
|
||||
:doc:`front <./front>`
|
||||
:doc:`back <./back>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
modifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`assign <./assign>`
|
||||
:doc:`swap <./swap>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
string operations
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
============================================================ ===============================================================================
|
||||
function
|
||||
============================================================ ===============================================================================
|
||||
:doc:`data <./data>`
|
||||
:doc:`c_array <./c_array>`
|
||||
:doc:`find <./find>`
|
||||
:doc:`rfind <./rfind>`
|
||||
:doc:`find_first_of <./find_first_of>`
|
||||
:doc:`find_last_of <./find_last_of>`
|
||||
:doc:`find_first_not_of <./find_first_not_of>`
|
||||
:doc:`find_last_not_of <./find_last_not_of>`
|
||||
:doc:`substr <./substr>`
|
||||
:doc:`compare <./compare>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
conversions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
================================================================================ ===============================================================================
|
||||
function
|
||||
================================================================================ ===============================================================================
|
||||
:doc:`operator std::basic_string <./operator-std-basic_string>`
|
||||
================================================================================ ===============================================================================
|
||||
|
||||
construct/copy/destroy (for string iterator)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
============================================================ ===============================================================================
|
||||
function
|
||||
============================================================ ===============================================================================
|
||||
:doc:`operator= <./operator-assign-iterator>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
modifiers (for string iterator)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`assign <./assign-iterator>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
string operations (for string iterator)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
============================================================ ===============================================================================
|
||||
function
|
||||
============================================================ ===============================================================================
|
||||
:doc:`find <./find-iterator>`
|
||||
:doc:`rfind <./rfind-iterator>`
|
||||
:doc:`find_first_of <./find_first_of-iterator>`
|
||||
:doc:`find_last_of <./find_last_of-iterator>`
|
||||
:doc:`find_first_not_of <./find_first_not_of-iterator>`
|
||||
:doc:`find_last_not_of <./find_last_not_of-iterator>`
|
||||
:doc:`compare <./compare-iterator>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
Header
|
||||
========================================
|
||||
|
||||
``sprout/string/string.hpp``
|
||||
|
||||
Convenience header: ``sprout/string.hpp``
|
||||
|
||||
Interface of all
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N, typename Traits = sprout::char_traits<T> >
|
||||
class basic_string {
|
||||
// types:
|
||||
typedef Traits traits_type;
|
||||
typedef typename Traits::char_type value_type;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef value_type& reference;
|
||||
typedef value_type const& const_reference;
|
||||
typedef value_type* pointer;
|
||||
typedef value_type const* const_pointer;
|
||||
typedef /*implementation-defined*/ iterator;
|
||||
typedef /*implementation-defined*/ const_iterator;
|
||||
typedef sprout::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef sprout::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// constants:
|
||||
SPROUT_STATIC_CONSTEXPR size_type npos = -1;
|
||||
SPROUT_STATIC_CONSTEXPR size_type static_size = N;
|
||||
|
||||
// construct/copy/destroy:
|
||||
SPROUT_CONSTEXPR basic_string() = default;
|
||||
SPROUT_CONSTEXPR basic_string(basic_string const&) = default;
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 < N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(basic_string<T, N2, Traits> const& str);
|
||||
SPROUT_CONSTEXPR basic_string(basic_string const& str, size_type pos, size_type n = npos);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 < N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(basic_string<T, N2, Traits> const& str, size_type pos, size_type n = npos);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 - 1 <= N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(T const(& arr)[N2]);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 - 1 <= N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(T const(& arr)[N2], size_type n);
|
||||
explicit SPROUT_CONSTEXPR basic_string(value_type const* s);
|
||||
SPROUT_CONSTEXPR basic_string(value_type const* s, size_type n);
|
||||
template<typename InputIterator>
|
||||
SPROUT_CONSTEXPR basic_string(InputIterator first, InputIterator last);
|
||||
basic_string(std::initializer_list<value_type> il);
|
||||
basic_string& operator=(basic_string const& rhs);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 != N)>::type>
|
||||
basic_string& operator=(basic_string<T, N2, Traits> const& rhs);
|
||||
basic_string& operator=(value_type const* rhs);
|
||||
basic_string& operator=(value_type rhs);
|
||||
|
||||
// iterators:
|
||||
iterator begin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator begin() const SPROUT_NOEXCEPT;
|
||||
iterator end() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator end() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rbegin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rbegin() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rend() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crend() const SPROUT_NOEXCEPT;
|
||||
|
||||
// capacity:
|
||||
SPROUT_CONSTEXPR size_type size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type length() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type max_size() const SPROUT_NOEXCEPT;
|
||||
void resize(size_type n, value_type c);
|
||||
void resize(size_type n);
|
||||
void clear();
|
||||
SPROUT_CONSTEXPR bool empty() const SPROUT_NOEXCEPT;
|
||||
|
||||
// element access:
|
||||
reference operator[](size_type i);
|
||||
SPROUT_CONSTEXPR const_reference operator[](size_type i) const;
|
||||
reference at(size_type i);
|
||||
SPROUT_CONSTEXPR const_reference at(size_type i) const;
|
||||
reference front();
|
||||
SPROUT_CONSTEXPR const_reference front() const;
|
||||
reference back();
|
||||
SPROUT_CONSTEXPR const_reference back() const;
|
||||
|
||||
// modifiers:
|
||||
template<std::size_t N2>
|
||||
basic_string& assign(basic_string<T, N2, Traits> const& str);
|
||||
template<std::size_t N2>
|
||||
basic_string& assign(basic_string<T, N2, Traits> const& str, size_type pos, size_type n);
|
||||
basic_string& assign(value_type const* s, size_type n);
|
||||
basic_string& assign(value_type const* s);
|
||||
basic_string& assign(size_type n, value_type c);
|
||||
template<typename Iterator>
|
||||
basic_string& assign(Iterator first, Iterator last);
|
||||
void swap(basic_string& other) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::swap(std::declval<T&>(), std::declval<T&>())));
|
||||
|
||||
// string operations:
|
||||
SPROUT_CONSTEXPR const_pointer c_str() const SPROUT_NOEXCEPT;
|
||||
pointer data() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer data() const SPROUT_NOEXCEPT;
|
||||
pointer c_array() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer c_array() const SPROUT_NOEXCEPT;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find(basic_string<T, N2, Traits> const& str, size_type pos = 0) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find(value_type const* s, size_type pos = 0) const;
|
||||
SPROUT_CONSTEXPR size_type find(value_type c, size_type pos = 0) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type rfind(basic_string<T, N2, Traits> const& str, size_type pos = npos) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type rfind(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type rfind(value_type const* s, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR size_type rfind(value_type c, size_type pos = npos) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_first_of(basic_string<T, N2, Traits> const& str, size_type pos = 0) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_first_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_of(value_type const* s, size_type pos = 0) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_of(value_type c, size_type pos = 0) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_last_of(basic_string<T, N2, Traits> const& str, size_type pos = npos) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_last_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_of(value_type const* s, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_of(value_type c, size_type pos = npos) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(basic_string<T, N2, Traits> const& str, size_type pos = 0) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(value_type const* s, size_type pos = 0) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(value_type c, size_type pos = 0) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(basic_string<T, N2, Traits> const& str, size_type pos = npos) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(value_type const* s, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(value_type c, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR basic_string substr(size_type pos = 0, size_type n = npos) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR int compare(basic_string<T, N2, Traits> const& str) const;
|
||||
SPROUT_CONSTEXPR int compare(value_type const* s) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, basic_string<T, N2, Traits> const& str) const;
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, value_type const* s) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, basic_string<T, N2, Traits> const& str, size_type pos2, size_type n2) const;
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, value_type const* s, size_type n2) const;
|
||||
|
||||
// conversions:
|
||||
template<typename Allocator>
|
||||
SPROUT_EXPLICIT_CONVERSION operator std::basic_string<T, Traits, Allocator>() const;
|
||||
|
||||
// construct/copy/destroy (for string iterator):
|
||||
template<typename StringConstIterator>
|
||||
basic_string& operator=(StringConstIterator rhs);
|
||||
|
||||
// modifiers (for string iterator):
|
||||
template<typename StringConstIterator>
|
||||
basic_string& assign(StringConstIterator s, size_type n);
|
||||
template<typename StringConstIterator>
|
||||
basic_string& assign(StringConstIterator s);
|
||||
|
||||
// string operations (for string iterator):
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type rfind(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type rfind(StringConstIterator s, size_type pos = npos) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_of(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_of(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(StringConstIterator s, size_type pos = npos) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR int compare(StringConstIterator s) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, StringConstIterator s) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, StringConstIterator s, size_type n2) const;
|
||||
};
|
|
@ -32,52 +32,7 @@ Interface
|
|||
.. sourcecode:: c++
|
||||
|
||||
template<typename Char>
|
||||
struct char_traits {
|
||||
// types:
|
||||
typedef typename std::char_traits<Char>::char_type char_type;
|
||||
typedef typename std::char_traits<Char>::int_type int_type;
|
||||
typedef typename std::char_traits<Char>::off_type off_type;
|
||||
typedef typename std::char_traits<Char>::pos_type pos_type;
|
||||
typedef typename std::char_traits<Char>::state_type state_type;
|
||||
|
||||
// character operations:
|
||||
static void assign(char_type& c1, char_type const& c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool lt(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations:
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, char_type const* s2, std::size_t n);
|
||||
static SPROUT_CONSTEXPR std::size_t length(char_type const* s);
|
||||
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a);
|
||||
static char_type* move(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* copy(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* assign(char_type* s, std::size_t n, char_type a);
|
||||
|
||||
// integer type operations:
|
||||
static SPROUT_CONSTEXPR int_type not_eof(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR char_type to_char_type(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type to_int_type(char_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq_int_type(int_type c1, int_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type eof() SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations (for iterator):
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n);
|
||||
template<typename ConstInputIterator1, typename ConstInputIterator2>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator copy(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator>
|
||||
static OutputIterator assign(OutputIterator s, std::size_t n, char_type a);
|
||||
};
|
||||
struct char_traits;
|
||||
|
||||
Description
|
||||
========================================
|
||||
|
@ -157,3 +112,54 @@ Header
|
|||
|
||||
Convenience header: ``sprout/string.hpp``
|
||||
|
||||
Interface of all
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template<typename Char>
|
||||
struct char_traits {
|
||||
// types:
|
||||
typedef typename std::char_traits<Char>::char_type char_type;
|
||||
typedef typename std::char_traits<Char>::int_type int_type;
|
||||
typedef typename std::char_traits<Char>::off_type off_type;
|
||||
typedef typename std::char_traits<Char>::pos_type pos_type;
|
||||
typedef typename std::char_traits<Char>::state_type state_type;
|
||||
|
||||
// character operations:
|
||||
static void assign(char_type& c1, char_type const& c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool lt(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations:
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, char_type const* s2, std::size_t n);
|
||||
static SPROUT_CONSTEXPR std::size_t length(char_type const* s);
|
||||
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a);
|
||||
static char_type* move(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* copy(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* assign(char_type* s, std::size_t n, char_type a);
|
||||
|
||||
// integer type operations:
|
||||
static SPROUT_CONSTEXPR int_type not_eof(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR char_type to_char_type(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type to_int_type(char_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq_int_type(int_type c1, int_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type eof() SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations (for iterator):
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n);
|
||||
template<typename ConstInputIterator1, typename ConstInputIterator2>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator copy(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator>
|
||||
static OutputIterator assign(OutputIterator s, std::size_t n, char_type a);
|
||||
};
|
||||
|
|
|
@ -7,6 +7,11 @@ Sprout.String
|
|||
:hidden:
|
||||
|
||||
char_traits/index
|
||||
basic_string/index
|
||||
string
|
||||
wstring
|
||||
u16string
|
||||
u32string
|
||||
basic_string/swap-global
|
||||
basic_string/operator-plus
|
||||
basic_string/operator-equal_to
|
||||
|
@ -15,6 +20,40 @@ Sprout.String
|
|||
basic_string/operator-greater
|
||||
basic_string/operator-less_equal
|
||||
basic_string/operator-greater_equal
|
||||
basic_string/operator-left_shift
|
||||
basic_string/operator-right_shift
|
||||
string_to_int
|
||||
stoi
|
||||
stol
|
||||
stoul
|
||||
stoll
|
||||
stoull
|
||||
stoimax
|
||||
stoumax
|
||||
from_string-inttype
|
||||
string_to_float
|
||||
stof
|
||||
stod
|
||||
stold
|
||||
from_string-floattype
|
||||
int_to_string
|
||||
to_string_of-inttype
|
||||
to_string-inttype
|
||||
to_wstring-inttype
|
||||
to_u16string-inttype
|
||||
to_u32string-inttype
|
||||
float_to_string
|
||||
float_to_string_exp
|
||||
to_string_of-floattype
|
||||
to_string-floattype
|
||||
to_wstring-floattype
|
||||
to_u16string-floattype
|
||||
to_u32string-floattype
|
||||
to_string
|
||||
string_from_c_str
|
||||
make_string
|
||||
shrink
|
||||
stretch
|
||||
basic_string/std-tuple_size
|
||||
basic_string/std-tuple_element
|
||||
basic_string/tuple_get
|
||||
|
@ -40,11 +79,19 @@ String classes
|
|||
class
|
||||
============================================================ ===============================================================================
|
||||
:doc:`basic_string <./basic_string/index>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
basic_string aliases
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
aliases
|
||||
======================================== ===============================================================================
|
||||
:doc:`string <./string>`
|
||||
:doc:`wstring <./wstring>`
|
||||
:doc:`u16string <./u16string>`
|
||||
:doc:`u32string <./u32string>`
|
||||
============================================================ ===============================================================================
|
||||
======================================== ===============================================================================
|
||||
|
||||
Non-member functions
|
||||
----------------------------------------
|
||||
|
@ -103,7 +150,6 @@ function
|
|||
:doc:`stoul <./stoul>`
|
||||
:doc:`stoll <./stoll>`
|
||||
:doc:`stoull <./stoull>`
|
||||
:doc:`stoull <./stoull>`
|
||||
:doc:`stoimax <./stoimax>`
|
||||
:doc:`stoumax <./stoumax>`
|
||||
:doc:`from_string \<IntType\> <./from_string-inttype>`
|
||||
|
|
|
@ -38,8 +38,8 @@
|
|||
<script type="text/javascript" src="../../../_static/doctools.js"></script>
|
||||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="array" href="index.html" />
|
||||
<link rel="next" title="operator[]" href="operator-subscript.html" />
|
||||
<link rel="prev" title="empty" href="empty.html" />
|
||||
<link rel="next" title="front" href="front.html" />
|
||||
<link rel="prev" title="operator[]" href="operator-subscript.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
|
@ -49,10 +49,10 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
<a href="front.html" title="front"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="empty.html" title="empty"
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
@ -76,11 +76,11 @@
|
|||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="empty.html"
|
||||
title="previous chapter">empty</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="operator-subscript.html"
|
||||
title="next chapter">operator[]</a></p>
|
||||
title="previous chapter">operator[]</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="front.html"
|
||||
title="next chapter">front</a></p>
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../../../_sources/libs/array/array/at.txt"
|
||||
|
@ -167,10 +167,10 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
<a href="front.html" title="front"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="empty.html" title="empty"
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<script type="text/javascript" src="../../../_static/doctools.js"></script>
|
||||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="array" href="index.html" />
|
||||
<link rel="next" title="at" href="at.html" />
|
||||
<link rel="next" title="operator[]" href="operator-subscript.html" />
|
||||
<link rel="prev" title="max_size" href="max_size.html" />
|
||||
</head>
|
||||
<body>
|
||||
|
@ -49,7 +49,7 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="at.html" title="at"
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="max_size.html" title="max_size"
|
||||
|
@ -78,8 +78,8 @@
|
|||
<p class="topless"><a href="max_size.html"
|
||||
title="previous chapter">max_size</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="at.html"
|
||||
title="next chapter">at</a></p>
|
||||
<p class="topless"><a href="operator-subscript.html"
|
||||
title="next chapter">operator[]</a></p>
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../../../_sources/libs/array/array/empty.txt"
|
||||
|
@ -158,7 +158,7 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="at.html" title="at"
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="max_size.html" title="max_size"
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="array" href="index.html" />
|
||||
<link rel="next" title="back" href="back.html" />
|
||||
<link rel="prev" title="operator[]" href="operator-subscript.html" />
|
||||
<link rel="prev" title="at" href="at.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
|
@ -52,7 +52,7 @@
|
|||
<a href="back.html" title="back"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
<a href="at.html" title="at"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
@ -75,8 +75,8 @@
|
|||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="operator-subscript.html"
|
||||
title="previous chapter">operator[]</a></p>
|
||||
<p class="topless"><a href="at.html"
|
||||
title="previous chapter">at</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="back.html"
|
||||
title="next chapter">back</a></p>
|
||||
|
@ -163,7 +163,7 @@
|
|||
<a href="back.html" title="back"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="operator-subscript.html" title="operator[]"
|
||||
<a href="at.html" title="at"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#header">Header</a></li>
|
||||
<li><a class="reference internal" href="#interface-of-all">Interface of all</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -122,71 +123,7 @@
|
|||
<div class="section" id="interface">
|
||||
<h2>Interface<a class="headerlink" href="#interface" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N</span><span class="o">></span>
|
||||
<span class="k">class</span> <span class="nc">array</span> <span class="p">{</span>
|
||||
<span class="c1">// types:</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span><span class="o">&</span> <span class="n">reference</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span> <span class="k">const</span><span class="o">&</span> <span class="n">const_reference</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="cm">/*implementation-defined*/</span> <span class="n">iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="cm">/*implementation-defined*/</span> <span class="n">const_iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">size_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">ptrdiff_t</span> <span class="n">difference_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span> <span class="n">value_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span><span class="o">*</span> <span class="n">pointer</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span> <span class="k">const</span><span class="o">*</span> <span class="n">const_pointer</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">sprout</span><span class="o">::</span><span class="n">reverse_iterator</span><span class="o"><</span><span class="n">iterator</span><span class="o">></span> <span class="n">reverse_iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">sprout</span><span class="o">::</span><span class="n">reverse_iterator</span><span class="o"><</span><span class="n">const_iterator</span><span class="o">></span> <span class="n">const_reverse_iterator</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// constants:</span>
|
||||
<span class="n">SPROUT_STATIC_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">static_size</span> <span class="o">=</span> <span class="n">N</span><span class="p">;</span>
|
||||
|
||||
<span class="n">T</span> <span class="n">elems</span><span class="p">[</span><span class="n">N</span> <span class="o">?</span> <span class="n">N</span> <span class="o">:</span> <span class="mi">1</span><span class="p">];</span> <span class="c1">// exposition only</span>
|
||||
|
||||
<span class="c1">// construct/copy/destroy:</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">T2</span><span class="o">></span>
|
||||
<span class="n">array</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">array</span><span class="o"><</span><span class="n">T2</span><span class="p">,</span> <span class="n">N</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">T2</span><span class="o">></span>
|
||||
<span class="n">array</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">array</span><span class="o"><</span><span class="n">T2</span><span class="p">,</span> <span class="n">N</span><span class="o">>&&</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// modifiers:</span>
|
||||
<span class="kt">void</span> <span class="n">fill</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">array</span> <span class="n">fill</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="kt">void</span> <span class="n">assign</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">array</span> <span class="n">assign</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="kt">void</span> <span class="n">swap</span><span class="p">(</span><span class="n">array</span><span class="o">&</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT_EXPR</span><span class="p">(</span><span class="n">SPROUT_NOEXCEPT_EXPR</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">swap</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">declval</span><span class="o"><</span><span class="n">T</span><span class="o">&></span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">declval</span><span class="o"><</span><span class="n">T</span><span class="o">&></span><span class="p">())));</span>
|
||||
|
||||
<span class="c1">// iterators:</span>
|
||||
<span class="n">iterator</span> <span class="n">begin</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">begin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">iterator</span> <span class="n">end</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">end</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">reverse_iterator</span> <span class="n">rbegin</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">rbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">reverse_iterator</span> <span class="n">rend</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">rend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">cbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">cend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">crbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">crend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// capacity:</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">size</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">max_size</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">empty</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// element access:</span>
|
||||
<span class="n">reference</span> <span class="k">operator</span><span class="p">[](</span><span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="k">operator</span><span class="p">[](</span><span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">at</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">at</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">front</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">front</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">back</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">back</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">pointer</span> <span class="n">data</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">data</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">pointer</span> <span class="n">c_array</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">c_array</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="p">};</span>
|
||||
<span class="k">class</span> <span class="nc">array</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -428,6 +365,77 @@ convertible to pointer</td>
|
|||
<p><tt class="docutils literal"><span class="pre">sprout/array/array.hpp</span></tt></p>
|
||||
<p>Convenience header: <tt class="docutils literal"><span class="pre">sprout/array.hpp</span></tt></p>
|
||||
</div>
|
||||
<div class="section" id="interface-of-all">
|
||||
<h2>Interface of all<a class="headerlink" href="#interface-of-all" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N</span><span class="o">></span>
|
||||
<span class="k">class</span> <span class="nc">array</span> <span class="p">{</span>
|
||||
<span class="c1">// types:</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span><span class="o">&</span> <span class="n">reference</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span> <span class="k">const</span><span class="o">&</span> <span class="n">const_reference</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="cm">/*implementation-defined*/</span> <span class="n">iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="cm">/*implementation-defined*/</span> <span class="n">const_iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">size_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">ptrdiff_t</span> <span class="n">difference_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span> <span class="n">value_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span><span class="o">*</span> <span class="n">pointer</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">T</span> <span class="k">const</span><span class="o">*</span> <span class="n">const_pointer</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">sprout</span><span class="o">::</span><span class="n">reverse_iterator</span><span class="o"><</span><span class="n">iterator</span><span class="o">></span> <span class="n">reverse_iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">sprout</span><span class="o">::</span><span class="n">reverse_iterator</span><span class="o"><</span><span class="n">const_iterator</span><span class="o">></span> <span class="n">const_reverse_iterator</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// constants:</span>
|
||||
<span class="n">SPROUT_STATIC_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">static_size</span> <span class="o">=</span> <span class="n">N</span><span class="p">;</span>
|
||||
|
||||
<span class="n">T</span> <span class="n">elems</span><span class="p">[</span><span class="n">N</span> <span class="o">?</span> <span class="n">N</span> <span class="o">:</span> <span class="mi">1</span><span class="p">];</span> <span class="c1">// exposition only</span>
|
||||
|
||||
<span class="c1">// construct/copy/destroy:</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">T2</span><span class="o">></span>
|
||||
<span class="n">array</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">array</span><span class="o"><</span><span class="n">T2</span><span class="p">,</span> <span class="n">N</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">T2</span><span class="o">></span>
|
||||
<span class="n">array</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">array</span><span class="o"><</span><span class="n">T2</span><span class="p">,</span> <span class="n">N</span><span class="o">>&&</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// modifiers:</span>
|
||||
<span class="kt">void</span> <span class="n">fill</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">array</span> <span class="n">fill</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="kt">void</span> <span class="n">assign</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">array</span> <span class="n">assign</span><span class="p">(</span><span class="n">const_reference</span> <span class="n">value</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="kt">void</span> <span class="n">swap</span><span class="p">(</span><span class="n">array</span><span class="o">&</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT_EXPR</span><span class="p">(</span><span class="n">SPROUT_NOEXCEPT_EXPR</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">swap</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">declval</span><span class="o"><</span><span class="n">T</span><span class="o">&></span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">declval</span><span class="o"><</span><span class="n">T</span><span class="o">&></span><span class="p">())));</span>
|
||||
|
||||
<span class="c1">// iterators:</span>
|
||||
<span class="n">iterator</span> <span class="n">begin</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">begin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">iterator</span> <span class="n">end</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">end</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">reverse_iterator</span> <span class="n">rbegin</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">rbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">reverse_iterator</span> <span class="n">rend</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">rend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">cbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">cend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">crbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">crend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// capacity:</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">size</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">max_size</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">empty</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// element access:</span>
|
||||
<span class="n">reference</span> <span class="k">operator</span><span class="p">[](</span><span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="k">operator</span><span class="p">[](</span><span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">at</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">at</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">front</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">front</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">back</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">back</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">pointer</span> <span class="n">data</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">data</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">pointer</span> <span class="n">c_array</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">c_array</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="p">};</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -38,8 +38,8 @@
|
|||
<script type="text/javascript" src="../../../_static/doctools.js"></script>
|
||||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="array" href="index.html" />
|
||||
<link rel="next" title="front" href="front.html" />
|
||||
<link rel="prev" title="at" href="at.html" />
|
||||
<link rel="next" title="at" href="at.html" />
|
||||
<link rel="prev" title="empty" href="empty.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
|
@ -49,10 +49,10 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="front.html" title="front"
|
||||
<a href="at.html" title="at"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="at.html" title="at"
|
||||
<a href="empty.html" title="empty"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
@ -76,11 +76,11 @@
|
|||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="at.html"
|
||||
title="previous chapter">at</a></p>
|
||||
<p class="topless"><a href="empty.html"
|
||||
title="previous chapter">empty</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="front.html"
|
||||
title="next chapter">front</a></p>
|
||||
<p class="topless"><a href="at.html"
|
||||
title="next chapter">at</a></p>
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../../../_sources/libs/array/array/operator-subscript.txt"
|
||||
|
@ -167,10 +167,10 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="front.html" title="front"
|
||||
<a href="at.html" title="at"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="at.html" title="at"
|
||||
<a href="empty.html" title="empty"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
|
716
docs/libs/string/basic_string/index.html
Normal file
716
docs/libs/string/basic_string/index.html
Normal file
|
@ -0,0 +1,716 @@
|
|||
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-43764535-1']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
<title>basic_string — Sprout 1.0 documentation</title>
|
||||
|
||||
<link rel="stylesheet" href="../../../_static/sphinxdoc.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: '../../../',
|
||||
VERSION: '1.0',
|
||||
COLLAPSE_INDEX: false,
|
||||
FILE_SUFFIX: '.html',
|
||||
HAS_SOURCE: true
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" src="../../../_static/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../../_static/underscore.js"></script>
|
||||
<script type="text/javascript" src="../../../_static/doctools.js"></script>
|
||||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="Sprout.String" href="../index.html" />
|
||||
<link rel="next" title="swap" href="swap-global.html" />
|
||||
<link rel="prev" title="assign" href="../char_traits/assign-iterator.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="swap-global.html" title="swap"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../char_traits/assign-iterator.html" title="assign"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
<li><a href="../index.html" accesskey="U">Sprout.String</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sphinxsidebar">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h3><a href="../../../index.html">Table Of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">basic_string</a><ul>
|
||||
<li><a class="reference internal" href="#interface">Interface</a></li>
|
||||
<li><a class="reference internal" href="#description">Description</a><ul>
|
||||
<li><a class="reference internal" href="#member-types">Member types</a></li>
|
||||
<li><a class="reference internal" href="#member-functions">Member functions</a><ul>
|
||||
<li><a class="reference internal" href="#construct-copy-destroy">construct/copy/destroy</a></li>
|
||||
<li><a class="reference internal" href="#iterators">iterators</a></li>
|
||||
<li><a class="reference internal" href="#capacity">capacity</a></li>
|
||||
<li><a class="reference internal" href="#element-access">element access</a></li>
|
||||
<li><a class="reference internal" href="#modifiers">modifiers</a></li>
|
||||
<li><a class="reference internal" href="#string-operations">string operations</a></li>
|
||||
<li><a class="reference internal" href="#conversions">conversions</a></li>
|
||||
<li><a class="reference internal" href="#construct-copy-destroy-for-string-iterator">construct/copy/destroy (for string iterator)</a></li>
|
||||
<li><a class="reference internal" href="#modifiers-for-string-iterator">modifiers (for string iterator)</a></li>
|
||||
<li><a class="reference internal" href="#string-operations-for-string-iterator">string operations (for string iterator)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#header">Header</a></li>
|
||||
<li><a class="reference internal" href="#interface-of-all">Interface of all</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="../char_traits/assign-iterator.html"
|
||||
title="previous chapter">assign</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="swap-global.html"
|
||||
title="next chapter">swap</a></p>
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../../../_sources/libs/string/basic_string/index.txt"
|
||||
rel="nofollow">Show Source</a></li>
|
||||
</ul>
|
||||
<div id="searchbox" style="display: none">
|
||||
<h3>Quick search</h3>
|
||||
<form class="search" action="../../../search.html" method="get">
|
||||
<input type="text" name="q" />
|
||||
<input type="submit" value="Go" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
<p class="searchtip" style="font-size: 90%">
|
||||
Enter search terms or a module, class or function name.
|
||||
</p>
|
||||
</div>
|
||||
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body">
|
||||
|
||||
<div class="section" id="basic-string">
|
||||
<h1>basic_string<a class="headerlink" href="#basic-string" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
</div>
|
||||
<div class="section" id="interface">
|
||||
<h2>Interface<a class="headerlink" href="#interface" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Traits</span> <span class="o">=</span> <span class="n">sprout</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">T</span><span class="o">></span> <span class="o">></span>
|
||||
<span class="k">class</span> <span class="nc">basic_string</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="section" id="member-types">
|
||||
<h3>Member types<a class="headerlink" href="#member-types" title="Permalink to this headline">¶</a></h3>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="25%" />
|
||||
<col width="50%" />
|
||||
<col width="25%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">type</th>
|
||||
<th class="head">definition</th>
|
||||
<th class="head">note</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td>traits_type</td>
|
||||
<td>Traits</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>value_type</td>
|
||||
<td>Traits::char_type</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td>size_type</td>
|
||||
<td>std::size_t</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>difference_type</td>
|
||||
<td>std::ptrdiff_t</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td>reference</td>
|
||||
<td>value_type&</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>const_reference</td>
|
||||
<td>value_type const&</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td>pointer</td>
|
||||
<td>value_type*</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>const_pointer</td>
|
||||
<td>value_type const*</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td>iterator</td>
|
||||
<td><strong>ConstexprRandomAccessIterator</strong></td>
|
||||
<td>convertible to const_iterator,
|
||||
convertible to pointer</td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>const_iterator</td>
|
||||
<td><strong>ConstexprRandomAccessIterator</strong></td>
|
||||
<td>convertible to const_pointer</td>
|
||||
</tr>
|
||||
<tr class="row-even"><td>reverse_iterator</td>
|
||||
<td>sprout::reverse_iterator<iterator>,
|
||||
<strong>ConstexprRandomAccessIterator</strong></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td>const_reverse_iterator</td>
|
||||
<td>sprout::reverse_iterator<const_iterator>,
|
||||
<strong>ConstexprRandomAccessIterator</strong></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="member-functions">
|
||||
<h3>Member functions<a class="headerlink" href="#member-functions" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="section" id="construct-copy-destroy">
|
||||
<h4>construct/copy/destroy<a class="headerlink" href="#construct-copy-destroy" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">(constructor)</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">operator=</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="iterators">
|
||||
<h4>iterators<a class="headerlink" href="#iterators" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">begin</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">end</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">rbegin</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">rend</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">cbegin</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">cend</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">crbegin</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">crend</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="capacity">
|
||||
<h4>capacity<a class="headerlink" href="#capacity" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">size</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">length</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">max_size</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">resize</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">clear</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">empty</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="element-access">
|
||||
<h4>element access<a class="headerlink" href="#element-access" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">operator[]</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">at</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">front</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">back</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="modifiers">
|
||||
<h4>modifiers<a class="headerlink" href="#modifiers" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">assign</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">swap</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="string-operations">
|
||||
<h4>string operations<a class="headerlink" href="#string-operations" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="43%" />
|
||||
<col width="57%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">data</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">c_array</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">find</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">rfind</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">find_first_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">find_last_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">find_first_not_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">find_last_not_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">substr</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">compare</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="conversions">
|
||||
<h4>conversions<a class="headerlink" href="#conversions" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">operator</span> <span class="pre">std::basic_string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="construct-copy-destroy-for-string-iterator">
|
||||
<h4>construct/copy/destroy (for string iterator)<a class="headerlink" href="#construct-copy-destroy-for-string-iterator" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="43%" />
|
||||
<col width="57%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">operator=</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="modifiers-for-string-iterator">
|
||||
<h4>modifiers (for string iterator)<a class="headerlink" href="#modifiers-for-string-iterator" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">assign</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="string-operations-for-string-iterator">
|
||||
<h4>string operations (for string iterator)<a class="headerlink" href="#string-operations-for-string-iterator" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="43%" />
|
||||
<col width="57%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">function</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">find</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">rfind</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">find_first_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">find_last_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">find_first_not_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">find_last_not_of</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">compare</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="header">
|
||||
<h2>Header<a class="headerlink" href="#header" title="Permalink to this headline">¶</a></h2>
|
||||
<p><tt class="docutils literal"><span class="pre">sprout/string/string.hpp</span></tt></p>
|
||||
<p>Convenience header: <tt class="docutils literal"><span class="pre">sprout/string.hpp</span></tt></p>
|
||||
</div>
|
||||
<div class="section" id="interface-of-all">
|
||||
<h2>Interface of all<a class="headerlink" href="#interface-of-all" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Traits</span> <span class="o">=</span> <span class="n">sprout</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">T</span><span class="o">></span> <span class="o">></span>
|
||||
<span class="k">class</span> <span class="nc">basic_string</span> <span class="p">{</span>
|
||||
<span class="c1">// types:</span>
|
||||
<span class="k">typedef</span> <span class="n">Traits</span> <span class="n">traits_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">Traits</span><span class="o">::</span><span class="n">char_type</span> <span class="n">value_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">size_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">ptrdiff_t</span> <span class="n">difference_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">value_type</span><span class="o">&</span> <span class="n">reference</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">value_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">const_reference</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">value_type</span><span class="o">*</span> <span class="n">pointer</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">const_pointer</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="cm">/*implementation-defined*/</span> <span class="n">iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="cm">/*implementation-defined*/</span> <span class="n">const_iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">sprout</span><span class="o">::</span><span class="n">reverse_iterator</span><span class="o"><</span><span class="n">iterator</span><span class="o">></span> <span class="n">reverse_iterator</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="n">sprout</span><span class="o">::</span><span class="n">reverse_iterator</span><span class="o"><</span><span class="n">const_iterator</span><span class="o">></span> <span class="n">const_reverse_iterator</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// constants:</span>
|
||||
<span class="n">SPROUT_STATIC_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">npos</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_STATIC_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">static_size</span> <span class="o">=</span> <span class="n">N</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// construct/copy/destroy:</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">()</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">basic_string</span> <span class="k">const</span><span class="o">&</span><span class="p">)</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Enable</span> <span class="o">=</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">enable_if</span><span class="o"><</span><span class="p">(</span><span class="n">N2</span> <span class="o"><</span> <span class="n">N</span><span class="p">)</span><span class="o">>::</span><span class="n">type</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">basic_string</span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span> <span class="o">=</span> <span class="n">npos</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Enable</span> <span class="o">=</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">enable_if</span><span class="o"><</span><span class="p">(</span><span class="n">N2</span> <span class="o"><</span> <span class="n">N</span><span class="p">)</span><span class="o">>::</span><span class="n">type</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span> <span class="o">=</span> <span class="n">npos</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Enable</span> <span class="o">=</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">enable_if</span><span class="o"><</span><span class="p">(</span><span class="n">N2</span> <span class="o">-</span> <span class="mi">1</span> <span class="o"><=</span> <span class="n">N</span><span class="p">)</span><span class="o">>::</span><span class="n">type</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">T</span> <span class="k">const</span><span class="p">(</span><span class="o">&</span> <span class="n">arr</span><span class="p">)[</span><span class="n">N2</span><span class="p">]);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Enable</span> <span class="o">=</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">enable_if</span><span class="o"><</span><span class="p">(</span><span class="n">N2</span> <span class="o">-</span> <span class="mi">1</span> <span class="o"><=</span> <span class="n">N</span><span class="p">)</span><span class="o">>::</span><span class="n">type</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">T</span> <span class="k">const</span><span class="p">(</span><span class="o">&</span> <span class="n">arr</span><span class="p">)[</span><span class="n">N2</span><span class="p">],</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">explicit</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">InputIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span><span class="p">(</span><span class="n">InputIterator</span> <span class="n">first</span><span class="p">,</span> <span class="n">InputIterator</span> <span class="n">last</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">initializer_list</span><span class="o"><</span><span class="n">value_type</span><span class="o">></span> <span class="n">il</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">basic_string</span> <span class="k">const</span><span class="o">&</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Enable</span> <span class="o">=</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">enable_if</span><span class="o"><</span><span class="p">(</span><span class="n">N2</span> <span class="o">!=</span> <span class="n">N</span><span class="p">)</span><span class="o">>::</span><span class="n">type</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">value_type</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// iterators:</span>
|
||||
<span class="n">iterator</span> <span class="n">begin</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">begin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">iterator</span> <span class="n">end</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">end</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">reverse_iterator</span> <span class="n">rbegin</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">rbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">reverse_iterator</span> <span class="n">rend</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">rend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">cbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_iterator</span> <span class="n">cend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">crbegin</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reverse_iterator</span> <span class="n">crend</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// capacity:</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">size</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">length</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">max_size</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="kt">void</span> <span class="n">resize</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">,</span> <span class="n">value_type</span> <span class="n">c</span><span class="p">);</span>
|
||||
<span class="kt">void</span> <span class="n">resize</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="kt">void</span> <span class="n">clear</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">empty</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// element access:</span>
|
||||
<span class="n">reference</span> <span class="k">operator</span><span class="p">[](</span><span class="n">size_type</span> <span class="n">i</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="k">operator</span><span class="p">[](</span><span class="n">size_type</span> <span class="n">i</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">at</span><span class="p">(</span><span class="n">size_type</span> <span class="n">i</span><span class="p">);</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">at</span><span class="p">(</span><span class="n">size_type</span> <span class="n">i</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">front</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">front</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">reference</span> <span class="n">back</span><span class="p">();</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_reference</span> <span class="n">back</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// modifiers:</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">);</span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">size_type</span> <span class="n">n</span><span class="p">,</span> <span class="n">value_type</span> <span class="n">c</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">Iterator</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">Iterator</span> <span class="n">first</span><span class="p">,</span> <span class="n">Iterator</span> <span class="n">last</span><span class="p">);</span>
|
||||
<span class="kt">void</span> <span class="n">swap</span><span class="p">(</span><span class="n">basic_string</span><span class="o">&</span> <span class="n">other</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT_EXPR</span><span class="p">(</span><span class="n">SPROUT_NOEXCEPT_EXPR</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">swap</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">declval</span><span class="o"><</span><span class="n">T</span><span class="o">&></span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">declval</span><span class="o"><</span><span class="n">T</span><span class="o">&></span><span class="p">())));</span>
|
||||
|
||||
<span class="c1">// string operations:</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">c_str</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">pointer</span> <span class="n">data</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">data</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">pointer</span> <span class="n">c_array</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">const_pointer</span> <span class="n">c_array</span><span class="p">()</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find</span><span class="p">(</span><span class="n">value_type</span> <span class="n">c</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">rfind</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">rfind</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">rfind</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">rfind</span><span class="p">(</span><span class="n">value_type</span> <span class="n">c</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_of</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_of</span><span class="p">(</span><span class="n">value_type</span> <span class="n">c</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_of</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_of</span><span class="p">(</span><span class="n">value_type</span> <span class="n">c</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_not_of</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_not_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_not_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_not_of</span><span class="p">(</span><span class="n">value_type</span> <span class="n">c</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_not_of</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_not_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_not_of</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_not_of</span><span class="p">(</span><span class="n">value_type</span> <span class="n">c</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">basic_string</span> <span class="n">substr</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos1</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n1</span><span class="p">,</span> <span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos1</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n1</span><span class="p">,</span> <span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">N2</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos1</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n1</span><span class="p">,</span> <span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">N2</span><span class="p">,</span> <span class="n">Traits</span><span class="o">></span> <span class="k">const</span><span class="o">&</span> <span class="n">str</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos2</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n2</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos1</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n1</span><span class="p">,</span> <span class="n">value_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n2</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// conversions:</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">Allocator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_EXPLICIT_CONVERSION</span> <span class="k">operator</span> <span class="n">std</span><span class="o">::</span><span class="n">basic_string</span><span class="o"><</span><span class="n">T</span><span class="p">,</span> <span class="n">Traits</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">></span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// construct/copy/destroy (for string iterator):</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">rhs</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// modifiers (for string iterator):</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">basic_string</span><span class="o">&</span> <span class="n">assign</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// string operations (for string iterator):</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">rfind</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">rfind</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_not_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_first_not_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_not_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="n">size_type</span> <span class="n">find_last_not_of</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">npos</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos1</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n1</span><span class="p">,</span> <span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">StringConstIterator</span><span class="o">></span>
|
||||
<span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">size_type</span> <span class="n">pos1</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n1</span><span class="p">,</span> <span class="n">StringConstIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">size_type</span> <span class="n">n2</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
|
||||
<span class="p">};</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="related">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="swap-global.html" title="swap"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../char_traits/assign-iterator.html" title="assign"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
<li><a href="../index.html" >Sprout.String</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
© Copyright 2013, Bolero MURAKAMI.
|
||||
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -39,7 +39,7 @@
|
|||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="Sprout.String" href="../index.html" />
|
||||
<link rel="next" title="operator+" href="operator-plus.html" />
|
||||
<link rel="prev" title="assign" href="../char_traits/assign-iterator.html" />
|
||||
<link rel="prev" title="basic_string" href="index.html" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="related">
|
||||
|
@ -52,7 +52,7 @@
|
|||
<a href="operator-plus.html" title="operator+"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../char_traits/assign-iterator.html" title="assign"
|
||||
<a href="index.html" title="basic_string"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
@ -75,8 +75,8 @@
|
|||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="../char_traits/assign-iterator.html"
|
||||
title="previous chapter">assign</a></p>
|
||||
<p class="topless"><a href="index.html"
|
||||
title="previous chapter">basic_string</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="operator-plus.html"
|
||||
title="next chapter">operator+</a></p>
|
||||
|
@ -173,7 +173,7 @@
|
|||
<a href="operator-plus.html" title="operator+"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../char_traits/assign-iterator.html" title="assign"
|
||||
<a href="index.html" title="basic_string"
|
||||
>previous</a> |</li>
|
||||
<li><a href="../../../index.html">Sprout 1.0 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Libraries</a> »</li>
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<script type="text/javascript" src="../../../_static/doctools.js"></script>
|
||||
<link rel="top" title="Sprout 1.0 documentation" href="../../../index.html" />
|
||||
<link rel="up" title="char_traits" href="index.html" />
|
||||
<link rel="next" title="swap" href="../basic_string/swap-global.html" />
|
||||
<link rel="next" title="basic_string" href="../basic_string/index.html" />
|
||||
<link rel="prev" title="copy" href="copy-iterator.html" />
|
||||
</head>
|
||||
<body>
|
||||
|
@ -49,7 +49,7 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../basic_string/swap-global.html" title="swap"
|
||||
<a href="../basic_string/index.html" title="basic_string"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="copy-iterator.html" title="copy"
|
||||
|
@ -78,8 +78,8 @@
|
|||
<p class="topless"><a href="copy-iterator.html"
|
||||
title="previous chapter">copy</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="../basic_string/swap-global.html"
|
||||
title="next chapter">swap</a></p>
|
||||
<p class="topless"><a href="../basic_string/index.html"
|
||||
title="next chapter">basic_string</a></p>
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../../../_sources/libs/string/char_traits/assign-iterator.txt"
|
||||
|
@ -161,7 +161,7 @@
|
|||
<a href="../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../basic_string/swap-global.html" title="swap"
|
||||
<a href="../basic_string/index.html" title="basic_string"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="copy-iterator.html" title="copy"
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#header">Header</a></li>
|
||||
<li><a class="reference internal" href="#interface-of-all">Interface of all</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -120,52 +121,7 @@
|
|||
<div class="section" id="interface">
|
||||
<h2>Interface<a class="headerlink" href="#interface" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">Char</span><span class="o">></span>
|
||||
<span class="k">struct</span> <span class="n">char_traits</span> <span class="p">{</span>
|
||||
<span class="c1">// types:</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">char_type</span> <span class="n">char_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">int_type</span> <span class="n">int_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">off_type</span> <span class="n">off_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">pos_type</span> <span class="n">pos_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">state_type</span> <span class="n">state_type</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// character operations:</span>
|
||||
<span class="k">static</span> <span class="kt">void</span> <span class="n">assign</span><span class="p">(</span><span class="n">char_type</span><span class="o">&</span> <span class="n">c1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">eq</span><span class="p">(</span><span class="n">char_type</span> <span class="n">c1</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">lt</span><span class="p">(</span><span class="n">char_type</span> <span class="n">c1</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// string operations:</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">length</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">find</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">a</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">char_type</span><span class="o">*</span> <span class="n">move</span><span class="p">(</span><span class="n">char_type</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">char_type</span><span class="o">*</span> <span class="n">copy</span><span class="p">(</span><span class="n">char_type</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">char_type</span><span class="o">*</span> <span class="n">assign</span><span class="p">(</span><span class="n">char_type</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">a</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// integer type operations:</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">int_type</span> <span class="n">not_eof</span><span class="p">(</span><span class="n">int_type</span> <span class="n">c</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">char_type</span> <span class="n">to_char_type</span><span class="p">(</span><span class="n">int_type</span> <span class="n">c</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">int_type</span> <span class="n">to_int_type</span><span class="p">(</span><span class="n">char_type</span> <span class="n">c</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">eq_int_type</span><span class="p">(</span><span class="n">int_type</span> <span class="n">c1</span><span class="p">,</span> <span class="n">int_type</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">int_type</span> <span class="n">eof</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// string operations (for iterator):</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">ConstInputIterator</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator1</span><span class="p">,</span> <span class="k">typename</span> <span class="n">ConstInputIterator2</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">ConstInputIterator1</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator2</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">length</span><span class="p">(</span><span class="n">ConstInputIterator</span> <span class="n">s</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">ConstInputIterator</span> <span class="n">find</span><span class="p">(</span><span class="n">ConstInputIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">a</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">OutputIterator</span><span class="p">,</span> <span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">OutputIterator</span> <span class="n">move</span><span class="p">(</span><span class="n">OutputIterator</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">OutputIterator</span><span class="p">,</span> <span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">OutputIterator</span> <span class="n">copy</span><span class="p">(</span><span class="n">OutputIterator</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">OutputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">OutputIterator</span> <span class="n">assign</span><span class="p">(</span><span class="n">OutputIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">a</span><span class="p">);</span>
|
||||
<span class="p">};</span>
|
||||
<span class="k">struct</span> <span class="n">char_traits</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -342,6 +298,58 @@
|
|||
<p><tt class="docutils literal"><span class="pre">sprout/string/char_traits.hpp</span></tt></p>
|
||||
<p>Convenience header: <tt class="docutils literal"><span class="pre">sprout/string.hpp</span></tt></p>
|
||||
</div>
|
||||
<div class="section" id="interface-of-all">
|
||||
<h2>Interface of all<a class="headerlink" href="#interface-of-all" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">Char</span><span class="o">></span>
|
||||
<span class="k">struct</span> <span class="n">char_traits</span> <span class="p">{</span>
|
||||
<span class="c1">// types:</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">char_type</span> <span class="n">char_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">int_type</span> <span class="n">int_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">off_type</span> <span class="n">off_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">pos_type</span> <span class="n">pos_type</span><span class="p">;</span>
|
||||
<span class="k">typedef</span> <span class="k">typename</span> <span class="n">std</span><span class="o">::</span><span class="n">char_traits</span><span class="o"><</span><span class="n">Char</span><span class="o">>::</span><span class="n">state_type</span> <span class="n">state_type</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// character operations:</span>
|
||||
<span class="k">static</span> <span class="kt">void</span> <span class="n">assign</span><span class="p">(</span><span class="n">char_type</span><span class="o">&</span> <span class="n">c1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">eq</span><span class="p">(</span><span class="n">char_type</span> <span class="n">c1</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">lt</span><span class="p">(</span><span class="n">char_type</span> <span class="n">c1</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// string operations:</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">length</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">find</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">a</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">char_type</span><span class="o">*</span> <span class="n">move</span><span class="p">(</span><span class="n">char_type</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">char_type</span><span class="o">*</span> <span class="n">copy</span><span class="p">(</span><span class="n">char_type</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">static</span> <span class="n">char_type</span><span class="o">*</span> <span class="n">assign</span><span class="p">(</span><span class="n">char_type</span><span class="o">*</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">a</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// integer type operations:</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">int_type</span> <span class="n">not_eof</span><span class="p">(</span><span class="n">int_type</span> <span class="n">c</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">char_type</span> <span class="n">to_char_type</span><span class="p">(</span><span class="n">int_type</span> <span class="n">c</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">int_type</span> <span class="n">to_int_type</span><span class="p">(</span><span class="n">char_type</span> <span class="n">c</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">bool</span> <span class="n">eq_int_type</span><span class="p">(</span><span class="n">int_type</span> <span class="n">c1</span><span class="p">,</span> <span class="n">int_type</span> <span class="n">c2</span><span class="p">)</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">int_type</span> <span class="n">eof</span><span class="p">()</span> <span class="n">SPROUT_NOEXCEPT</span><span class="p">;</span>
|
||||
|
||||
<span class="c1">// string operations (for iterator):</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">ConstInputIterator</span> <span class="n">s1</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">*</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator1</span><span class="p">,</span> <span class="k">typename</span> <span class="n">ConstInputIterator2</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="kt">int</span> <span class="n">compare</span><span class="p">(</span><span class="n">ConstInputIterator1</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator2</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">length</span><span class="p">(</span><span class="n">ConstInputIterator</span> <span class="n">s</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">SPROUT_CONSTEXPR</span> <span class="n">ConstInputIterator</span> <span class="n">find</span><span class="p">(</span><span class="n">ConstInputIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="k">const</span><span class="o">&</span> <span class="n">a</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">OutputIterator</span><span class="p">,</span> <span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">OutputIterator</span> <span class="n">move</span><span class="p">(</span><span class="n">OutputIterator</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">OutputIterator</span><span class="p">,</span> <span class="k">typename</span> <span class="n">ConstInputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">OutputIterator</span> <span class="n">copy</span><span class="p">(</span><span class="n">OutputIterator</span> <span class="n">s1</span><span class="p">,</span> <span class="n">ConstInputIterator</span> <span class="n">s2</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">);</span>
|
||||
<span class="k">template</span><span class="o"><</span><span class="k">typename</span> <span class="n">OutputIterator</span><span class="o">></span>
|
||||
<span class="k">static</span> <span class="n">OutputIterator</span> <span class="n">assign</span><span class="p">(</span><span class="n">OutputIterator</span> <span class="n">s</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">size_t</span> <span class="n">n</span><span class="p">,</span> <span class="n">char_type</span> <span class="n">a</span><span class="p">);</span>
|
||||
<span class="p">};</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -65,7 +65,10 @@
|
|||
<li><a class="reference internal" href="#">Sprout.String</a><ul>
|
||||
<li><a class="reference internal" href="#description">Description</a><ul>
|
||||
<li><a class="reference internal" href="#character-traits">Character traits</a></li>
|
||||
<li><a class="reference internal" href="#string-classes">String classes</a></li>
|
||||
<li><a class="reference internal" href="#string-classes">String classes</a><ul>
|
||||
<li><a class="reference internal" href="#basic-string-aliases">basic_string aliases</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#non-member-functions">Non-member functions</a><ul>
|
||||
<li><a class="reference internal" href="#specialized-algorithms">specialized algorithms</a></li>
|
||||
<li><a class="reference internal" href="#concatenations">concatenations</a></li>
|
||||
|
@ -155,23 +158,39 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">basic_string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">wstring</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">u16string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">u32string</span></tt></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="basic_string/index.html"><em>basic_string</em></a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="section" id="basic-string-aliases">
|
||||
<h4>basic_string aliases<a class="headerlink" href="#basic-string-aliases" title="Permalink to this headline">¶</a></h4>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="34%" />
|
||||
<col width="66%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr class="row-odd"><th class="head">aliases</th>
|
||||
<th class="head"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">wstring</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">u16string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">u32string</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="non-member-functions">
|
||||
<h3>Non-member functions<a class="headerlink" href="#non-member-functions" title="Permalink to this headline">¶</a></h3>
|
||||
|
@ -300,31 +319,28 @@
|
|||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">stoull</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">stoull</span></tt></td>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">stoimax</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">stoimax</span></tt></td>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">stoumax</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">stoumax</span></tt></td>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">from_string</span> <span class="pre"><IntType></span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">from_string</span> <span class="pre"><IntType></span></tt></td>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">string_to_float</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">string_to_float</span></tt></td>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">stof</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">stof</span></tt></td>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">stod</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">stod</span></tt></td>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">stold</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">stold</span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><tt class="xref doc docutils literal"><span class="pre">from_string</span> <span class="pre"><FloatType></span></tt></td>
|
||||
<tr class="row-odd"><td><tt class="xref doc docutils literal"><span class="pre">from_string</span> <span class="pre"><FloatType></span></tt></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -22,8 +22,8 @@ array
|
|||
size
|
||||
max_size
|
||||
empty
|
||||
at
|
||||
operator-subscript
|
||||
at
|
||||
front
|
||||
back
|
||||
data
|
||||
|
@ -34,71 +34,7 @@ Interface
|
|||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
class array {
|
||||
// types:
|
||||
typedef T& reference;
|
||||
typedef T const& const_reference;
|
||||
typedef /*implementation-defined*/ iterator;
|
||||
typedef /*implementation-defined*/ const_iterator;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T const* const_pointer;
|
||||
typedef sprout::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef sprout::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// constants:
|
||||
SPROUT_STATIC_CONSTEXPR size_type static_size = N;
|
||||
|
||||
T elems[N ? N : 1]; // exposition only
|
||||
|
||||
// construct/copy/destroy:
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N> const& rhs);
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N>&& rhs);
|
||||
|
||||
// modifiers:
|
||||
void fill(const_reference value);
|
||||
SPROUT_CONSTEXPR array fill(const_reference value) const;
|
||||
void assign(const_reference value);
|
||||
SPROUT_CONSTEXPR array assign(const_reference value) const;
|
||||
void swap(array&) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::swap(std::declval<T&>(), std::declval<T&>())));
|
||||
|
||||
// iterators:
|
||||
iterator begin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator begin() const SPROUT_NOEXCEPT;
|
||||
iterator end() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator end() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rbegin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rbegin() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rend() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crend() const SPROUT_NOEXCEPT;
|
||||
|
||||
// capacity:
|
||||
SPROUT_CONSTEXPR size_type size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type max_size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR bool empty() const SPROUT_NOEXCEPT;
|
||||
|
||||
// element access:
|
||||
reference operator[](size_type n);
|
||||
SPROUT_CONSTEXPR const_reference operator[](size_type n) const;
|
||||
reference at(size_type n);
|
||||
SPROUT_CONSTEXPR const_reference at(size_type n) const;
|
||||
reference front();
|
||||
SPROUT_CONSTEXPR const_reference front() const;
|
||||
reference back();
|
||||
SPROUT_CONSTEXPR const_reference back() const;
|
||||
pointer data() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer data() const SPROUT_NOEXCEPT;
|
||||
pointer c_array() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer c_array() const SPROUT_NOEXCEPT;
|
||||
};
|
||||
class array;
|
||||
|
||||
Description
|
||||
========================================
|
||||
|
@ -205,3 +141,73 @@ Header
|
|||
|
||||
Convenience header: ``sprout/array.hpp``
|
||||
|
||||
Interface of all
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
class array {
|
||||
// types:
|
||||
typedef T& reference;
|
||||
typedef T const& const_reference;
|
||||
typedef /*implementation-defined*/ iterator;
|
||||
typedef /*implementation-defined*/ const_iterator;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T const* const_pointer;
|
||||
typedef sprout::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef sprout::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// constants:
|
||||
SPROUT_STATIC_CONSTEXPR size_type static_size = N;
|
||||
|
||||
T elems[N ? N : 1]; // exposition only
|
||||
|
||||
// construct/copy/destroy:
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N> const& rhs);
|
||||
template<typename T2>
|
||||
array& operator=(array<T2, N>&& rhs);
|
||||
|
||||
// modifiers:
|
||||
void fill(const_reference value);
|
||||
SPROUT_CONSTEXPR array fill(const_reference value) const;
|
||||
void assign(const_reference value);
|
||||
SPROUT_CONSTEXPR array assign(const_reference value) const;
|
||||
void swap(array&) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::swap(std::declval<T&>(), std::declval<T&>())));
|
||||
|
||||
// iterators:
|
||||
iterator begin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator begin() const SPROUT_NOEXCEPT;
|
||||
iterator end() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator end() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rbegin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rbegin() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rend() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crend() const SPROUT_NOEXCEPT;
|
||||
|
||||
// capacity:
|
||||
SPROUT_CONSTEXPR size_type size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type max_size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR bool empty() const SPROUT_NOEXCEPT;
|
||||
|
||||
// element access:
|
||||
reference operator[](size_type n);
|
||||
SPROUT_CONSTEXPR const_reference operator[](size_type n) const;
|
||||
reference at(size_type n);
|
||||
SPROUT_CONSTEXPR const_reference at(size_type n) const;
|
||||
reference front();
|
||||
SPROUT_CONSTEXPR const_reference front() const;
|
||||
reference back();
|
||||
SPROUT_CONSTEXPR const_reference back() const;
|
||||
pointer data() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer data() const SPROUT_NOEXCEPT;
|
||||
pointer c_array() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer c_array() const SPROUT_NOEXCEPT;
|
||||
};
|
||||
|
|
402
source/libs/string/basic_string/index.rst
Normal file
402
source/libs/string/basic_string/index.rst
Normal file
|
@ -0,0 +1,402 @@
|
|||
.. _sprout-string-basic_string:
|
||||
###############################################################################
|
||||
basic_string
|
||||
###############################################################################
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
constructor-
|
||||
operator-assign
|
||||
begin
|
||||
end
|
||||
rbegin
|
||||
rend
|
||||
cbegin
|
||||
cend
|
||||
crbegin
|
||||
crend
|
||||
size
|
||||
length
|
||||
max_size
|
||||
resize
|
||||
clear
|
||||
empty
|
||||
operator-subscript
|
||||
at
|
||||
front
|
||||
back
|
||||
assign
|
||||
swap
|
||||
data
|
||||
c_array
|
||||
data
|
||||
find
|
||||
rfind
|
||||
find_first_of
|
||||
find_last_of
|
||||
find_first_not_of
|
||||
find_last_not_of
|
||||
substr
|
||||
compare
|
||||
operator-std-basic_string
|
||||
operator-assign-iterator
|
||||
assign-iterator
|
||||
find-iterator
|
||||
rfind-iterator
|
||||
find_first_of-iterator
|
||||
find_last_of-iterator
|
||||
find_first_not_of-iterator
|
||||
find_last_not_of-iterator
|
||||
compare-iterator
|
||||
|
||||
Interface
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N, typename Traits = sprout::char_traits<T> >
|
||||
class basic_string;
|
||||
|
||||
Description
|
||||
========================================
|
||||
|
||||
Member types
|
||||
----------------------------------------
|
||||
|
||||
======================================== =============================================================================== =======================================
|
||||
type definition note
|
||||
======================================== =============================================================================== =======================================
|
||||
traits_type Traits
|
||||
value_type Traits::char_type
|
||||
size_type std::size_t
|
||||
difference_type std::ptrdiff_t
|
||||
reference value_type&
|
||||
const_reference value_type const&
|
||||
pointer value_type*
|
||||
const_pointer value_type const*
|
||||
iterator **ConstexprRandomAccessIterator** convertible to const_iterator,
|
||||
convertible to pointer
|
||||
const_iterator **ConstexprRandomAccessIterator** convertible to const_pointer
|
||||
reverse_iterator sprout::reverse_iterator<iterator>,
|
||||
**ConstexprRandomAccessIterator**
|
||||
const_reverse_iterator sprout::reverse_iterator<const_iterator>,
|
||||
**ConstexprRandomAccessIterator**
|
||||
======================================== =============================================================================== =======================================
|
||||
|
||||
Member functions
|
||||
----------------------------------------
|
||||
|
||||
construct/copy/destroy
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`(constructor) <./constructor->`
|
||||
:doc:`operator= <./operator-assign>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
iterators
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`begin <./begin>`
|
||||
:doc:`end <./end>`
|
||||
:doc:`rbegin <./rbegin>`
|
||||
:doc:`rend <./rend>`
|
||||
:doc:`cbegin <./cbegin>`
|
||||
:doc:`cend <./cend>`
|
||||
:doc:`crbegin <./crbegin>`
|
||||
:doc:`crend <./crend>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
capacity
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`size <./size>`
|
||||
:doc:`length <./length>`
|
||||
:doc:`max_size <./max_size>`
|
||||
:doc:`resize <./resize>`
|
||||
:doc:`clear <./clear>`
|
||||
:doc:`empty <./empty>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
element access
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`operator[] <./operator-subscript>`
|
||||
:doc:`at <./at>`
|
||||
:doc:`front <./front>`
|
||||
:doc:`back <./back>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
modifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`assign <./assign>`
|
||||
:doc:`swap <./swap>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
string operations
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
============================================================ ===============================================================================
|
||||
function
|
||||
============================================================ ===============================================================================
|
||||
:doc:`data <./data>`
|
||||
:doc:`c_array <./c_array>`
|
||||
:doc:`find <./find>`
|
||||
:doc:`rfind <./rfind>`
|
||||
:doc:`find_first_of <./find_first_of>`
|
||||
:doc:`find_last_of <./find_last_of>`
|
||||
:doc:`find_first_not_of <./find_first_not_of>`
|
||||
:doc:`find_last_not_of <./find_last_not_of>`
|
||||
:doc:`substr <./substr>`
|
||||
:doc:`compare <./compare>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
conversions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
================================================================================ ===============================================================================
|
||||
function
|
||||
================================================================================ ===============================================================================
|
||||
:doc:`operator std::basic_string <./operator-std-basic_string>`
|
||||
================================================================================ ===============================================================================
|
||||
|
||||
construct/copy/destroy (for string iterator)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
============================================================ ===============================================================================
|
||||
function
|
||||
============================================================ ===============================================================================
|
||||
:doc:`operator= <./operator-assign-iterator>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
modifiers (for string iterator)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
function
|
||||
======================================== ===============================================================================
|
||||
:doc:`assign <./assign-iterator>`
|
||||
======================================== ===============================================================================
|
||||
|
||||
string operations (for string iterator)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
============================================================ ===============================================================================
|
||||
function
|
||||
============================================================ ===============================================================================
|
||||
:doc:`find <./find-iterator>`
|
||||
:doc:`rfind <./rfind-iterator>`
|
||||
:doc:`find_first_of <./find_first_of-iterator>`
|
||||
:doc:`find_last_of <./find_last_of-iterator>`
|
||||
:doc:`find_first_not_of <./find_first_not_of-iterator>`
|
||||
:doc:`find_last_not_of <./find_last_not_of-iterator>`
|
||||
:doc:`compare <./compare-iterator>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
Header
|
||||
========================================
|
||||
|
||||
``sprout/string/string.hpp``
|
||||
|
||||
Convenience header: ``sprout/string.hpp``
|
||||
|
||||
Interface of all
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template <typename T, std::size_t N, typename Traits = sprout::char_traits<T> >
|
||||
class basic_string {
|
||||
// types:
|
||||
typedef Traits traits_type;
|
||||
typedef typename Traits::char_type value_type;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef value_type& reference;
|
||||
typedef value_type const& const_reference;
|
||||
typedef value_type* pointer;
|
||||
typedef value_type const* const_pointer;
|
||||
typedef /*implementation-defined*/ iterator;
|
||||
typedef /*implementation-defined*/ const_iterator;
|
||||
typedef sprout::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef sprout::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// constants:
|
||||
SPROUT_STATIC_CONSTEXPR size_type npos = -1;
|
||||
SPROUT_STATIC_CONSTEXPR size_type static_size = N;
|
||||
|
||||
// construct/copy/destroy:
|
||||
SPROUT_CONSTEXPR basic_string() = default;
|
||||
SPROUT_CONSTEXPR basic_string(basic_string const&) = default;
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 < N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(basic_string<T, N2, Traits> const& str);
|
||||
SPROUT_CONSTEXPR basic_string(basic_string const& str, size_type pos, size_type n = npos);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 < N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(basic_string<T, N2, Traits> const& str, size_type pos, size_type n = npos);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 - 1 <= N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(T const(& arr)[N2]);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 - 1 <= N)>::type>
|
||||
SPROUT_CONSTEXPR basic_string(T const(& arr)[N2], size_type n);
|
||||
explicit SPROUT_CONSTEXPR basic_string(value_type const* s);
|
||||
SPROUT_CONSTEXPR basic_string(value_type const* s, size_type n);
|
||||
template<typename InputIterator>
|
||||
SPROUT_CONSTEXPR basic_string(InputIterator first, InputIterator last);
|
||||
basic_string(std::initializer_list<value_type> il);
|
||||
basic_string& operator=(basic_string const& rhs);
|
||||
template<std::size_t N2, typename Enable = typename std::enable_if<(N2 != N)>::type>
|
||||
basic_string& operator=(basic_string<T, N2, Traits> const& rhs);
|
||||
basic_string& operator=(value_type const* rhs);
|
||||
basic_string& operator=(value_type rhs);
|
||||
|
||||
// iterators:
|
||||
iterator begin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator begin() const SPROUT_NOEXCEPT;
|
||||
iterator end() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator end() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rbegin() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rbegin() const SPROUT_NOEXCEPT;
|
||||
reverse_iterator rend() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator rend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_iterator cend() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crbegin() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_reverse_iterator crend() const SPROUT_NOEXCEPT;
|
||||
|
||||
// capacity:
|
||||
SPROUT_CONSTEXPR size_type size() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type length() const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type max_size() const SPROUT_NOEXCEPT;
|
||||
void resize(size_type n, value_type c);
|
||||
void resize(size_type n);
|
||||
void clear();
|
||||
SPROUT_CONSTEXPR bool empty() const SPROUT_NOEXCEPT;
|
||||
|
||||
// element access:
|
||||
reference operator[](size_type i);
|
||||
SPROUT_CONSTEXPR const_reference operator[](size_type i) const;
|
||||
reference at(size_type i);
|
||||
SPROUT_CONSTEXPR const_reference at(size_type i) const;
|
||||
reference front();
|
||||
SPROUT_CONSTEXPR const_reference front() const;
|
||||
reference back();
|
||||
SPROUT_CONSTEXPR const_reference back() const;
|
||||
|
||||
// modifiers:
|
||||
template<std::size_t N2>
|
||||
basic_string& assign(basic_string<T, N2, Traits> const& str);
|
||||
template<std::size_t N2>
|
||||
basic_string& assign(basic_string<T, N2, Traits> const& str, size_type pos, size_type n);
|
||||
basic_string& assign(value_type const* s, size_type n);
|
||||
basic_string& assign(value_type const* s);
|
||||
basic_string& assign(size_type n, value_type c);
|
||||
template<typename Iterator>
|
||||
basic_string& assign(Iterator first, Iterator last);
|
||||
void swap(basic_string& other) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::swap(std::declval<T&>(), std::declval<T&>())));
|
||||
|
||||
// string operations:
|
||||
SPROUT_CONSTEXPR const_pointer c_str() const SPROUT_NOEXCEPT;
|
||||
pointer data() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer data() const SPROUT_NOEXCEPT;
|
||||
pointer c_array() SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR const_pointer c_array() const SPROUT_NOEXCEPT;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find(basic_string<T, N2, Traits> const& str, size_type pos = 0) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find(value_type const* s, size_type pos = 0) const;
|
||||
SPROUT_CONSTEXPR size_type find(value_type c, size_type pos = 0) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type rfind(basic_string<T, N2, Traits> const& str, size_type pos = npos) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type rfind(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type rfind(value_type const* s, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR size_type rfind(value_type c, size_type pos = npos) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_first_of(basic_string<T, N2, Traits> const& str, size_type pos = 0) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_first_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_of(value_type const* s, size_type pos = 0) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_of(value_type c, size_type pos = 0) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_last_of(basic_string<T, N2, Traits> const& str, size_type pos = npos) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_last_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_of(value_type const* s, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_of(value_type c, size_type pos = npos) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(basic_string<T, N2, Traits> const& str, size_type pos = 0) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(value_type const* s, size_type pos = 0) const;
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(value_type c, size_type pos = 0) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(basic_string<T, N2, Traits> const& str, size_type pos = npos) const SPROUT_NOEXCEPT;
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(value_type const* s, size_type pos, size_type n) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(value_type const* s, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(value_type c, size_type pos = npos) const;
|
||||
SPROUT_CONSTEXPR basic_string substr(size_type pos = 0, size_type n = npos) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR int compare(basic_string<T, N2, Traits> const& str) const;
|
||||
SPROUT_CONSTEXPR int compare(value_type const* s) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, basic_string<T, N2, Traits> const& str) const;
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, value_type const* s) const;
|
||||
template<std::size_t N2>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, basic_string<T, N2, Traits> const& str, size_type pos2, size_type n2) const;
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, value_type const* s, size_type n2) const;
|
||||
|
||||
// conversions:
|
||||
template<typename Allocator>
|
||||
SPROUT_EXPLICIT_CONVERSION operator std::basic_string<T, Traits, Allocator>() const;
|
||||
|
||||
// construct/copy/destroy (for string iterator):
|
||||
template<typename StringConstIterator>
|
||||
basic_string& operator=(StringConstIterator rhs);
|
||||
|
||||
// modifiers (for string iterator):
|
||||
template<typename StringConstIterator>
|
||||
basic_string& assign(StringConstIterator s, size_type n);
|
||||
template<typename StringConstIterator>
|
||||
basic_string& assign(StringConstIterator s);
|
||||
|
||||
// string operations (for string iterator):
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type rfind(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type rfind(StringConstIterator s, size_type pos = npos) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_of(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_of(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_first_not_of(StringConstIterator s, size_type pos = 0) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(StringConstIterator s, size_type pos, size_type n) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR size_type find_last_not_of(StringConstIterator s, size_type pos = npos) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR int compare(StringConstIterator s) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, StringConstIterator s) const;
|
||||
template<typename StringConstIterator>
|
||||
SPROUT_CONSTEXPR int compare(size_type pos1, size_type n1, StringConstIterator s, size_type n2) const;
|
||||
};
|
|
@ -32,52 +32,7 @@ Interface
|
|||
.. sourcecode:: c++
|
||||
|
||||
template<typename Char>
|
||||
struct char_traits {
|
||||
// types:
|
||||
typedef typename std::char_traits<Char>::char_type char_type;
|
||||
typedef typename std::char_traits<Char>::int_type int_type;
|
||||
typedef typename std::char_traits<Char>::off_type off_type;
|
||||
typedef typename std::char_traits<Char>::pos_type pos_type;
|
||||
typedef typename std::char_traits<Char>::state_type state_type;
|
||||
|
||||
// character operations:
|
||||
static void assign(char_type& c1, char_type const& c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool lt(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations:
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, char_type const* s2, std::size_t n);
|
||||
static SPROUT_CONSTEXPR std::size_t length(char_type const* s);
|
||||
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a);
|
||||
static char_type* move(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* copy(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* assign(char_type* s, std::size_t n, char_type a);
|
||||
|
||||
// integer type operations:
|
||||
static SPROUT_CONSTEXPR int_type not_eof(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR char_type to_char_type(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type to_int_type(char_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq_int_type(int_type c1, int_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type eof() SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations (for iterator):
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n);
|
||||
template<typename ConstInputIterator1, typename ConstInputIterator2>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator copy(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator>
|
||||
static OutputIterator assign(OutputIterator s, std::size_t n, char_type a);
|
||||
};
|
||||
struct char_traits;
|
||||
|
||||
Description
|
||||
========================================
|
||||
|
@ -157,3 +112,54 @@ Header
|
|||
|
||||
Convenience header: ``sprout/string.hpp``
|
||||
|
||||
Interface of all
|
||||
========================================
|
||||
.. sourcecode:: c++
|
||||
|
||||
template<typename Char>
|
||||
struct char_traits {
|
||||
// types:
|
||||
typedef typename std::char_traits<Char>::char_type char_type;
|
||||
typedef typename std::char_traits<Char>::int_type int_type;
|
||||
typedef typename std::char_traits<Char>::off_type off_type;
|
||||
typedef typename std::char_traits<Char>::pos_type pos_type;
|
||||
typedef typename std::char_traits<Char>::state_type state_type;
|
||||
|
||||
// character operations:
|
||||
static void assign(char_type& c1, char_type const& c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool lt(char_type c1, char_type c2) SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations:
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, char_type const* s2, std::size_t n);
|
||||
static SPROUT_CONSTEXPR std::size_t length(char_type const* s);
|
||||
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a);
|
||||
static char_type* move(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* copy(char_type* s1, char_type const* s2, std::size_t n);
|
||||
static char_type* assign(char_type* s, std::size_t n, char_type a);
|
||||
|
||||
// integer type operations:
|
||||
static SPROUT_CONSTEXPR int_type not_eof(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR char_type to_char_type(int_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type to_int_type(char_type c) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR bool eq_int_type(int_type c1, int_type c2) SPROUT_NOEXCEPT;
|
||||
static SPROUT_CONSTEXPR int_type eof() SPROUT_NOEXCEPT;
|
||||
|
||||
// string operations (for iterator):
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n);
|
||||
template<typename ConstInputIterator1, typename ConstInputIterator2>
|
||||
static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s);
|
||||
template<typename ConstInputIterator>
|
||||
static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator, typename ConstInputIterator>
|
||||
static OutputIterator copy(OutputIterator s1, ConstInputIterator s2, std::size_t n);
|
||||
template<typename OutputIterator>
|
||||
static OutputIterator assign(OutputIterator s, std::size_t n, char_type a);
|
||||
};
|
||||
|
|
|
@ -7,6 +7,11 @@ Sprout.String
|
|||
:hidden:
|
||||
|
||||
char_traits/index
|
||||
basic_string/index
|
||||
string
|
||||
wstring
|
||||
u16string
|
||||
u32string
|
||||
basic_string/swap-global
|
||||
basic_string/operator-plus
|
||||
basic_string/operator-equal_to
|
||||
|
@ -15,6 +20,40 @@ Sprout.String
|
|||
basic_string/operator-greater
|
||||
basic_string/operator-less_equal
|
||||
basic_string/operator-greater_equal
|
||||
basic_string/operator-left_shift
|
||||
basic_string/operator-right_shift
|
||||
string_to_int
|
||||
stoi
|
||||
stol
|
||||
stoul
|
||||
stoll
|
||||
stoull
|
||||
stoimax
|
||||
stoumax
|
||||
from_string-inttype
|
||||
string_to_float
|
||||
stof
|
||||
stod
|
||||
stold
|
||||
from_string-floattype
|
||||
int_to_string
|
||||
to_string_of-inttype
|
||||
to_string-inttype
|
||||
to_wstring-inttype
|
||||
to_u16string-inttype
|
||||
to_u32string-inttype
|
||||
float_to_string
|
||||
float_to_string_exp
|
||||
to_string_of-floattype
|
||||
to_string-floattype
|
||||
to_wstring-floattype
|
||||
to_u16string-floattype
|
||||
to_u32string-floattype
|
||||
to_string
|
||||
string_from_c_str
|
||||
make_string
|
||||
shrink
|
||||
stretch
|
||||
basic_string/std-tuple_size
|
||||
basic_string/std-tuple_element
|
||||
basic_string/tuple_get
|
||||
|
@ -40,11 +79,19 @@ String classes
|
|||
class
|
||||
============================================================ ===============================================================================
|
||||
:doc:`basic_string <./basic_string/index>`
|
||||
============================================================ ===============================================================================
|
||||
|
||||
basic_string aliases
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
======================================== ===============================================================================
|
||||
aliases
|
||||
======================================== ===============================================================================
|
||||
:doc:`string <./string>`
|
||||
:doc:`wstring <./wstring>`
|
||||
:doc:`u16string <./u16string>`
|
||||
:doc:`u32string <./u32string>`
|
||||
============================================================ ===============================================================================
|
||||
======================================== ===============================================================================
|
||||
|
||||
Non-member functions
|
||||
----------------------------------------
|
||||
|
@ -103,7 +150,6 @@ function
|
|||
:doc:`stoul <./stoul>`
|
||||
:doc:`stoll <./stoll>`
|
||||
:doc:`stoull <./stoull>`
|
||||
:doc:`stoull <./stoull>`
|
||||
:doc:`stoimax <./stoimax>`
|
||||
:doc:`stoumax <./stoumax>`
|
||||
:doc:`from_string \<IntType\> <./from_string-inttype>`
|
||||
|
|
Loading…
Add table
Reference in a new issue