Functional programming
To use these functions, you need to include:
#include <msm/front/euml/stl.hpp>
or the specified header in the following tables.
Table 11.1 — STL algorithms
STL algorithms in querying.hpp
Functor
find_(first, last, value)
Find_
find_if_(first, last, value)
FindIf_
lower_bound_(first, last, value [,opᵃ])
LowerBound_
upper_bound_(first, last, value [,opᵃ])
UpperBound_
equal_range_(first, last, value [,opᵃ])
EqualRange_
binary_search_(first, last, value [,opᵃ])
BinarySearch_
min_element_(first, last[,opᵃ])
MinElement_
max_element_(first, last[,opᵃ])
MaxElement_
adjacent_find_(first, last[,opᵃ])
AdjacentFind_
find_end_( first1, last1, first2, last2 [,op ᵃ])
FindEnd_
find_first_of_( first1, last1, first2, last2 [,op ᵃ])
FindFirstOf_
equal_( first1, last1, first2 [,op ᵃ])
Equal_
search_( first1, last1, first2, last2 [,op ᵃ])
Search_
includes_( first1, last1, first2, last2 [,op ᵃ])
Includes_
lexicographical_compare_ ( first1, last1, first2, last2 [,op ᵃ])
LexicographicalCompare_
count_(first, last, value [,size])
Count_
count_if_(first, last, op ᵃ [,size])
CountIf_
distance_(first, last)
Distance_
mismatch _( first1, last1, first2 [,op ᵃ])
Mismatch_
Table 11.2 — STL algorithms
STL algorithms in iteration.hpp
Functor
for_each_(first,last, unary opᵃ)
ForEach_
accumulate_first, last, init [,opᵃ])
Accumulate_
Table 11.3 — STL algorithms
STL algorithms in transformation.hpp
Functor
copy_(first, last, result)
Copy_
copy_backward_(first, last, result)
CopyBackward_
reverse_(first, last)
Reverse_
reverse_copy_(first, last , result)
ReverseCopy_
remove_(first, last, value)
Remove_
remove_if_(first, last , opᵃ)
RemoveIf_
remove_copy_(first, last , output, value)
RemoveCopy_
remove_copy_if_(first, last, output, opᵃ)
RemoveCopyIf_
fill_(first, last, value)
Fill_
fill_n_(first, size, value)ᵇ
FillN_
generate_(first, last, generatorᵃ)
Generate_
generate_(first, size, generatorᵃ)ᵇ
GenerateN_
unique_(first, last [,opᵃ])
Unique_
unique_copy_(first, last, output [,opᵃ])
UniqueCopy_
random_shuffle_(first, last [,opᵃ])
RandomShuffle_
rotate_copy_(first, middle, last, output)
RotateCopy_
partition_ (first, last [,opᵃ])
Partition_
stable_partition_ (first, last [,opᵃ])
StablePartition_
stable_sort_(first, last [,opᵃ])
StableSort_
sort_(first, last [,opᵃ])
Sort_
partial_sort_(first, middle, last [,opᵃ])
PartialSort_
partial_sort_copy_ (first, last, res_first, res_last [,opᵃ])
PartialSortCopy_
nth_element_(first, nth, last [,opᵃ])
NthElement_
merge_( first1, last1, first2, last2, output [,op ᵃ])
Merge_
inplace_merge_(first, middle, last [,opᵃ])
InplaceMerge_
set_union_(first1, last1, first2, last2, output [,op ᵃ])
SetUnion_
push_heap_(first, last [,op ᵃ])
PushHeap_
pop_heap_(first, last [,op ᵃ])
PopHeap_
make_heap_(first, last [,op ᵃ])
MakeHeap_
sort_heap_(first, last [,op ᵃ])
SortHeap_
next_permutation_(first, last [,op ᵃ])
NextPermutation_
prev_permutation_(first, last [,op ᵃ])
PrevPermutation_
inner_product_(first1, last1, first2, init [,op1ᵃ] [,op2ᵃ])
InnerProduct_
partial_sum_(first, last, output [,opᵃ])
PartialSum_
adjacent_difference_(first, last, output [,opᵃ])
AdjacentDifference_
replace_(first, last, old_value, new_value)
Replace_
replace_if_(first, last, opᵃ, new_value)
ReplaceIf_
replace_copy_(first, last, result, old_value, new_value)
ReplaceCopy_
replace_copy_if_(first, last, result, opᵃ, new_value)
ReplaceCopyIf_
rotate_(first, middle, last)ᵇ
Rotate_
Table 11.4 — STL container methods
STL container methods(common) in container.hpp
Functor
container::reference front_(container)
Front_
container::reference back_(container)
Back_
container::iterator begin_(container)
Begin_
container::iterator end_(container)
End_
container::reverse_iterator rbegin_(container)
RBegin_
container::reverse_iterator rend_(container)
REnd_
void push_back_(container, value)
Push_Back_
void pop_back_(container, value)
Pop_Back_
void push_front_(container, value)
Push_Front_
void pop_front_(container, value)
Pop_Front_
void clear_(container)
Clear_
size_type capacity_(container)
Capacity_
size_type size_(container)
Size_
size_type max_size_(container)
Max_Size_
void reserve_(container, value)
Reserve _
void resize_(container, value)
Resize _
iterator insert_(container, pos, value)
Insert_
void insert_( container , pos, first, last)
Insert_
void insert_( container , pos, number, value)
Insert_
void swap_( container , other_container)
Swap_
void erase_( container , pos)
Erase_
void erase_( container , first, last)
Erase_
bool empty_( container)
Empty_
Table 11.5 — STL list methods
std::list methods in container.hpp
Functor
void list_remove_(container, value)
ListRemove_
void list_remove_if_(container, opᵃ)
ListRemove_If_
void list_merge_(container, other_list)
ListMerge_
void list_merge_(container, other_list, opᵃ)
ListMerge_
void splice_(container, iterator, other_list)
Splice_
void splice_(container, iterator, other_list, iterator)
Splice_
void splice_(container, iterator, other_list, first, last)
Splice_
void list_reverse_(container)
ListReverse_
void list_unique_(container)
ListUnique_
void list_unique_(container, opᵃ)
ListUnique_
void list_sort_(container)
ListSort_
void list_sort_(container, opᵃ)
ListSort_
Table 11.6 — STL associative container methods
Associative container methods in container.hpp
Functor
iterator insert_(container, pos, value)
Insert_
void insert_( container , first, last)
Insert_
pair<iterator, bool> insert_( container , value)
Insert_
void associative_erase_( container , pos)
Associative_Erase_
void associative_erase_( container , first, last)
Associative_Erase_
size_type associative_erase_( container , key)
Associative_Erase_
iterator associative_find_( container , key)
Associative_Find_
size_type associative_count_( container , key)
AssociativeCount_
iterator associative_lower_bound_( container , key)
Associative_Lower_Bound_
iterator associative_upper_bound_( container , key)
Associative_Upper_Bound_
pair<iterator, iterator> associative_equal_range_( container , key)
Associative_Equal_Range_
Table 11.7 — STL pair
std::pair in container.hpp
Functor
first_type first_(pair<T1, T2>)
First_
second_type second_(pair<T1, T2>)
Second_
Table 11.8 — STL string
STL string method
std::string method in container.hpp
Functor
substr (size_type pos, size_type size)
string substr_(container, pos, length)
Substr_
int compare(string)
int string_compare_(container, another_string)
StringCompare_
int compare(char*)
int string_compare_(container, another_string)
StringCompare_
int compare(size_type pos, size_type size, string)
int string_compare_(container, pos, size, another_string)
StringCompare_
int compare (size_type pos, size_type size, string, size_type length)
int string_compare_(container, pos, size, another_string, length)
StringCompare_
string& append(const string&)
string& append_(container, another_string)
Append_
string& append (charT*)
string& append_(container, another_string)
Append_
string& append (string , size_type pos, size_type size)
string& append_(container, other_string, pos, size)
Append_
string& append (charT*, size_type size)
string& append_(container, another_string, length)
Append_
string& append (size_type size, charT)
string& append_(container, size, char)
Append_
string& append (iterator begin, iterator end)
string& append_(container, begin, end)
Append_
string& insert (size_type pos, charT*)
string& string_insert_(container, pos, other_string)
StringInsert_
string& insert(size_type pos, charT*,size_type n)
string& string_insert_(container, pos, other_string, n)
StringInsert_
string& insert(size_type pos,size_type n, charT c)
string& string_insert_(container, pos, n, c)
StringInsert_
string& insert (size_type pos, const string&)
string& string_insert_(container, pos, other_string)
StringInsert_
string& insert (size_type pos, const string&, size_type pos1, size_type n)
string& string_insert_(container, pos, other_string, pos1, n)
StringInsert_
string& erase(size_type pos=0, size_type n=npos)
string& string_erase_(container, pos, n)
StringErase_
string& assign(const string&)
string& string_assign_(container, another_string)
StringAssign_
string& assign(const charT*)
string& string_assign_(container, another_string)
StringAssign_
string& assign(const string&, size_type pos, size_type n)
string& string_assign_(container, another_string, pos, n)
StringAssign_
string& assign(const charT*, size_type n)
string& string_assign_(container, another_string, n)
StringAssign_
string& assign(size_type n, charT c)
string& string_assign_(container, n, c)
StringAssign_
string& assign(iterator first, iterator last)
string& string_assign_(container, first, last)
StringAssign_
string& replace(size_type pos, size_type n, const string&)
string& string_replace_(container, pos, n, another_string)
StringReplace_
string& replace(size_type pos, size_type n, const charT*, size_type n1)
string& string_replace_(container, pos, n, another_string, n1)
StringReplace_
string& replace(size_type pos, size_type n, const charT*)
string& string_replace_(container, pos, n, another_string)
StringReplace_
string& replace(size_type pos, size_type n, size_type n1, charT c)
string& string_replace_(container, pos, n, n1, c)
StringReplace_
string& replace(iterator first, iterator last, const string&)
string& string_replace_(container, first, last, another_string)
StringReplace_
string& replace(iterator first, iterator last, const charT*, size_type n)
string& string_replace_(container, first, last, another_string, n)
StringReplace_
string& replace(iterator first, iterator last, const charT*)
string& string_replace_(container, first, last, another_string)
StringReplace_
string& replace(iterator first, iterator last, size_type n, charT c)
string& string_replace_(container, first, last, n, c)
StringReplace_
string& replace(iterator first, iterator last, iterator f, iterator l)
string& string_replace_(container, first, last, f, l)
StringReplace_
const charT* c_str()
const charT* c_str_(container)
CStr_
const charT* data()
const charT* string_data_(container)
StringData_
size_type copy(charT* buf, size_type n, size_type pos = 0)
size_type string_copy_(container, buf, n, pos); size_type string_copy_(container, buf, n)
StringCopy_
size_type find(charT* s, size_type pos, size_type n)
size_type string_find_(container, s, pos, n)
StringFind_
size_type find(charT* s, size_type pos=0)
size_type string_find_(container, s, pos); size_type string_find_(container, s)
StringFind_
size_type find(const string& s, size_type pos=0)
size_type string_find_(container, s, pos) size_type string_find_(container, s)
StringFind_
size_type find(charT c, size_type pos=0)
size_type string_find_(container, c, pos) size_type string_find_(container, c)
StringFind_
size_type rfind(charT* s, size_type pos, size_type n)
size_type string_rfind_(container, s, pos, n)
StringRFind_
size_type rfind(charT* s, size_type pos=npos)
size_type string_rfind_(container, s, pos); size_type string_rfind_(container, s)
StringRFind_
size_type rfind(const string& s, size_type pos=npos)
size_type string_rfind_(container, s, pos); size_type string_rfind_(container, s)
StringRFind_
size_type rfind(charT c, size_type pos=npos)
size_type string_rfind_(container, c, pos) size_type string_rfind_(container, c)
StringRFind_
size_type find_first_of(charT* s, size_type pos, size_type n)
size_type find_first_of_(container, s, pos, n)
StringFindFirstOf_
size_type find_first_of (charT* s, size_type pos=0)
size_type find_first_of_(container, s, pos); size_type find_first_of_(container, s)
StringFindFirstOf_
size_type find_first_of (const string& s, size_type pos=0)
size_type find_first_of_(container, s, pos); size_type find_first_of_(container, s)
StringFindFirstOf_
size_type find_first_of (charT c, size_type pos=0)
size_type find_first_of_(container, c, pos) size_type find_first_of_(container, c)
StringFindFirstOf_
size_type find_first_not_of(charT* s, size_type pos, size_type n)
size_type find_first_not_of_(container, s, pos, n)
StringFindFirstNotOf_
size_type find_first_not_of (charT* s, size_type pos=0)
size_type find_first_not_of_(container, s, pos); size_type find_first_not_of_(container, s)
StringFindFirstNotOf_
size_type find_first_not_of (const string& s, size_type pos=0)
size_type find_first_not_of_(container, s, pos); size_type find_first_not_of_(container, s)
StringFindFirstNotOf_
size_type find_first_not_of (charT c, size_type pos=0)
size_type find_first_not_of_(container, c, pos); size_type find_first_not_of_(container, c)
StringFindFirstNotOf_
size_type find_last_of(charT* s, size_type pos, size_type n)
size_type find_last_of_(container, s, pos, n)
StringFindLastOf_
size_type find_last_of (charT* s, size_type pos=npos)
size_type find_last_of_(container, s, pos); size_type find_last_of_(container, s)
StringFindLastOf_
size_type find_last_of (const string& s, size_type pos=npos)
size_type find_last_of_(container, s, pos); size_type find_last_of_(container, s)
StringFindLastOf_
size_type find_last_of (charT c, size_type pos=npos)
size_type find_last_of_(container, c, pos); size_type find_last_of_(container, c)
StringFindLastOf_
size_type find_last_not_of(charT* s, size_type pos, size_type n)
size_type find_last_not_of_(container, s, pos, n)
StringFindLastNotOf_
size_type find_last_not_of (charT* s, size_type pos=npos)
size_type find_last_not_of_(container, s, pos); size_type find_last_of_(container, s)
StringFindLastNotOf_
size_type find_last_not_of (const string& s, size_type pos=npos)
size_type find_last_not_of_(container, s, pos); size_type find_last_not_of_(container, s)
StringFindLastNotOf_
size_type find_last_not_of (charT c, size_type pos=npos)
size_type find_last_not_of_(container, c, pos); size_type find_last_not_of_(container, c)
StringFindLastNotOf_