mirror of
https://github.com/boostorg/msm.git
synced 2026-02-19 14:32:34 +00:00
120 lines
35 KiB
HTML
120 lines
35 KiB
HTML
<html><head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<title>Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="index.html" title="Meta State Machine (MSM)"><link rel="prev" href="ar01s08.html" title="Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4210"></a>Reference</h2></div></div></div><p> todo </p><div class="sect2" title="Back-end"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4215"></a> Back-end </h3></div></div></div><p>todo</p><div class="sect3" title="File: <boost/msm/back/state_machine.hpp>"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4220"></a>File: <boost/msm/back/state_machine.hpp></h4></div></div></div><pre class="synopsis">
|
|
<code class="filename">boost/msm/back/state_machine.hpp</code>
|
|
<code class="classname">fff</code>
|
|
<code class="methodname">void start</code>
|
|
<code class="methodname">template <class Event> HandledEnum process_event</code>
|
|
<code class="methodname">const int* current_state const</code>
|
|
</pre><pre class="classsynopsis"> <span class="ooclass"><span class="classname">template <class Derived,class HistoryPolicy=NoHistory,class
|
|
CompilePolicy=favor_runtime_speed> state_machine</span></span> {<br><code class="methodsynopsis"> <span class="methodname">void start</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">template <class Event> HandledEnum process_event</span>(<span class="methodparam">Event const&</span>);</code><br><code class="methodsynopsis"> <span class="methodname">const int* current_state const</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">const BaseState* get_state_by_id const</span>(<span class="methodparam">int id</span>);</code><br><code class="methodsynopsis"> <span class="methodname">bool is_contained const</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">template <class State> State* get_state</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">template <class State> State& get_state</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">template <class Flag,class BinaryOp> bool
|
|
is_flag_active</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">template <class Flag> bool is_flag_active</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">void visit_current_states</span>(<span class="methodparam"></span>);</code><br><code class="methodsynopsis"> <span class="methodname">void visit_current_states</span>(<span class="methodparam">any-type param1, any-type param2,...</span>);</code><br><code class="methodsynopsis"> <span class="methodname">template <class Event> void defer_event</span>(<span class="methodparam">Event const&</span>);</code><br>}</pre></div></div><div class="sect2" title="eUML functions"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4309"></a>eUML functions</h3></div></div></div><p>The following table lists the supported operators: </p><p>
|
|
</p><div class="table"><a name="d0e4316"></a><p class="title"><b>Table 1. Operators and state machine helpers</b></p><div class="table-contents"><table summary="Operators and state machine helpers" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>eUML function / operator</th><th>Description</th><th>Functor</th></tr></thead><tbody><tr><td>&&</td><td>Calls lazily Action1&& Action2</td><td>And_</td></tr><tr><td>||</td><td>Calls lazily Action1|| Action2</td><td>Or_</td></tr><tr><td>!</td><td>Calls lazily !Action1</td><td>Not_</td></tr><tr><td>!=</td><td>Calls lazily Action1 != Action2</td><td>NotEqualTo_</td></tr><tr><td>==</td><td>Calls lazily Action1 == Action2</td><td>EqualTo_</td></tr><tr><td>></td><td>Calls lazily Action1 > Action2</td><td>Greater_</td></tr><tr><td>>=</td><td>Calls lazily Action1 >= Action2</td><td>Greater_Equal_</td></tr><tr><td><</td><td>Calls lazily Action1 < Action2</td><td>Less_</td></tr><tr><td><=</td><td>Calls lazily Action1 <= Action2</td><td>Less_Equal_</td></tr><tr><td>&</td><td>Calls lazily Action1 & Action2</td><td>Bitwise_And_</td></tr><tr><td>|</td><td>Calls lazily Action1 | Action2</td><td>Bitwise_Or_</td></tr><tr><td>^</td><td>Calls lazily Action1 ^ Action2</td><td>Bitwise_Xor_</td></tr><tr><td>--</td><td>Calls lazily --Action1 / Action1--</td><td>Pre_Dec_ / Post_Dec_</td></tr><tr><td>++</td><td>Calls lazily ++Action1 / Action1++</td><td>Pre_Inc_ / Post_Inc_</td></tr><tr><td>/</td><td>Calls lazily Action1 / Action2</td><td>Divides_</td></tr><tr><td>/=</td><td>Calls lazily Action1 /= Action2</td><td>Divides_Assign_</td></tr><tr><td>*</td><td>Calls lazily Action1 * Action2</td><td>Multiplies_</td></tr><tr><td>*=</td><td>Calls lazily Action1 *= Action2</td><td>Multiplies_Assign_</td></tr><tr><td>+ (binary)</td><td>Calls lazily Action1 + Action2</td><td>Plus_</td></tr><tr><td>+ (unary)</td><td>Calls lazily +Action1</td><td>Unary_Plus_</td></tr><tr><td>+=</td><td>Calls lazily Action1 += Action2</td><td>Plus_Assign_</td></tr><tr><td>- (binary)</td><td>Calls lazily Action1 - Action2</td><td>Minus_</td></tr><tr><td>- (unary)</td><td>Calls lazily -Action1</td><td>Unary_Minus_</td></tr><tr><td>-=</td><td>Calls lazily Action1 -= Action2</td><td>Minus_Assign_</td></tr><tr><td>%</td><td>Calls lazily Action1 % Action2</td><td>Modulus_</td></tr><tr><td>%=</td><td>Calls lazily Action1 %= Action2</td><td>Modulus_Assign_</td></tr><tr><td>>></td><td>Calls lazily Action1 >> Action2</td><td>ShiftRight_</td></tr><tr><td>>>=</td><td>Calls lazily Action1 >>= Action2</td><td>ShiftRight_Assign_</td></tr><tr><td><<</td><td>Calls lazily Action1 << Action2</td><td>ShiftLeft_</td></tr><tr><td><<=</td><td>Calls lazily Action1 <<= Action2</td><td>ShiftLeft_Assign_</td></tr><tr><td>[] (works on vector, map, arrays)</td><td>Calls lazily Action1 [Action2]</td><td>Subscript_</td></tr><tr><td>if_then_else_(Condition,Action1,Action2)</td><td>Returns either the result of calling Action1 or the result of
|
|
calling Action2</td><td>If_Else_</td></tr><tr><td>if_then_(Condition,Action)</td><td>Returns the result of calling Action if Condition</td><td>If_Then_</td></tr><tr><td>while_(Condition, Body)</td><td>While Condition(), calls Body(). Returns nothing</td><td>While_Do_</td></tr><tr><td>do_while_(Condition, Body)</td><td>Calls Body() while Condition(). Returns nothing</td><td>Do_While_</td></tr><tr><td>for_(Begin,Stop,EndLoop,Body)</td><td>Calls for(Begin;Stop;EndLoop){Body;}</td><td>For_Loop_</td></tr><tr><td>process_(Event [,fsm1] [,fsm2] [,fsm3] [,fsm4])</td><td>Processes Event on the current state machine (if no fsm
|
|
specified) or on up to 4 state machines returned by an
|
|
appropriate functor.</td><td>Process_</td></tr><tr><td>process2_(Event, Data [,fsm1] [,fsm2] [,fsm3])</td><td>Processes Event on the current state machine (if no fsm
|
|
specified) or on up to 2 state machines returned by an
|
|
appropriate functor. The event is copy-constructed from what
|
|
Data() returns.</td><td>Process2_</td></tr><tr><td>is_flag_(Flag [,fsm])</td><td>Calls is_flag_active() on the current state machine or the
|
|
one returned by calling fsm.</td><td>Get_Flag_</td></tr><tr><td>event_ [(attribute name)]</td><td>Returns the current event (as const reference)</td><td>GetEvent_</td></tr><tr><td>source_ [(attribute name)]</td><td>Returns the source state of the currently triggered
|
|
transition (as reference). If an attribute name is provided,
|
|
returns the attribute by reference.</td><td>GetSource_</td></tr><tr><td>target_ [(attribute name)]</td><td>Returns the target state of the currently triggered
|
|
transition (as reference). If an attribute name is provided,
|
|
returns the attribute by reference.</td><td>GetTarget_</td></tr><tr><td>state_ [(attribute name)]</td><td>Returns the source state of the currently active state (as
|
|
reference). Valid inside a state entry/exit action. If an
|
|
attribute name is provided, returns the attribute by
|
|
reference.</td><td>GetState_</td></tr><tr><td>fsm_ [(attribute name)]</td><td>Returns the current state machine (as reference). Valid
|
|
inside a state entry/exit action or a transition. If an
|
|
attribute name is provided, returns the attribute by
|
|
reference.</td><td>GetFsm_</td></tr><tr><td>substate_(state_name [,fsm])</td><td>Returns (as reference) the state state_name referenced in the
|
|
current state machine or the one given as argument.</td><td>SubState_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>TODO macro for functor def</p><p>To use these functions, you need to include: </p><p><code class="code">#include <msm/front/euml/euml.hpp></code></p></div><div class="sect2" title="Functional programming"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4655"></a> Functional programming </h3></div></div></div><p>To use these functions, you need to include: </p><p><code class="code">#include <msm/front/euml/stl.hpp></code></p><p>or the specified header in the following tables.</p><p>The following table lists the supported STL algorithms: </p><p>
|
|
</p><div class="table"><a name="d0e4669"></a><p class="title"><b>Table 2. STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in querying.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>find_(first, last, value)</td><td>Find_</td></tr><tr><td>find_if_(first, last, value)</td><td>FindIf_</td></tr><tr><td>lower_bound_(first, last, value [,opᵃ])</td><td>LowerBound_</td></tr><tr><td>upper_bound_(first, last, value [,opᵃ])</td><td>UpperBound_</td></tr><tr><td>equal_range_(first, last, value [,opᵃ])</td><td>EqualRange_</td></tr><tr><td>binary_search_(first, last, value [,opᵃ])</td><td>BinarySearch_</td></tr><tr><td>min_element_(first, last[,opᵃ])</td><td>MinElement_</td></tr><tr><td>max_element_(first, last[,opᵃ])</td><td>MaxElement_</td></tr><tr><td>adjacent_find_(first, last[,opᵃ])</td><td>AdjacentFind_</td></tr><tr><td>find_end_( first1, last1, first2, last2 [,op ᵃ])</td><td>FindEnd_</td></tr><tr><td>find_first_of_( first1, last1, first2, last2 [,op ᵃ])</td><td>FindFirstOf_</td></tr><tr><td>equal_( first1, last1, first2 [,op ᵃ])</td><td>Equal_</td></tr><tr><td>search_( first1, last1, first2, last2 [,op ᵃ])</td><td>Search_</td></tr><tr><td>includes_( first1, last1, first2, last2 [,op ᵃ])</td><td>Includes_</td></tr><tr><td>lexicographical_compare_ ( first1, last1, first2, last2 [,op
|
|
ᵃ]) </td><td>LexicographicalCompare_</td></tr><tr><td>count_(first, last, value [,size])</td><td>Count_</td></tr><tr><td>count_if_(first, last, op ᵃ [,size])</td><td>CountIf_</td></tr><tr><td>distance_(first, last)</td><td>Distance_</td></tr><tr><td>mismatch _( first1, last1, first2 [,op ᵃ])</td><td>Mismatch_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>
|
|
</p><div class="table"><a name="d0e4780"></a><p class="title"><b>Table 3. STL algorithms</b></p><div class="table-contents"><table summary="STL algorithms" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL algorithms in transformation.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>copy_(first, last, result)</td><td>Copy_</td></tr><tr><td>copy_backward_(first, last, result)</td><td>CopyBackward_</td></tr><tr><td>reverse_(first, last)</td><td>Reverse_</td></tr><tr><td>reverse_copy_(first, last , result)</td><td>ReverseCopy_</td></tr><tr><td>remove_(first, last, value)</td><td>Remove_</td></tr><tr><td>remove_if_(first, last , opᵃ)</td><td>RemoveIf_</td></tr><tr><td>remove_copy_(first, last , output, value)</td><td>RemoveCopy_</td></tr><tr><td>remove_copy_if_(first, last, output, opᵃ)</td><td>RemoveCopyIf_</td></tr><tr><td>fill_(first, last, value)</td><td>Fill_</td></tr><tr><td>fill_n_(first, size, value)ᵇ</td><td>FillN_</td></tr><tr><td>generate_(first, last, generatorᵃ)</td><td>Generate_</td></tr><tr><td>generate_(first, size, generatorᵃ)ᵇ</td><td>GenerateN_</td></tr><tr><td>unique_(first, last [,opᵃ])</td><td>Unique_</td></tr><tr><td>unique_copy_(first, last, output [,opᵃ])</td><td>UniqueCopy_</td></tr><tr><td>random_shuffle_(first, last [,opᵃ])</td><td>RandomShuffle_</td></tr><tr><td>rotate_copy_(first, middle, last, output)</td><td>RotateCopy_</td></tr><tr><td>partition_ (first, last [,opᵃ])</td><td>Partition_</td></tr><tr><td>stable_partition_ (first, last [,opᵃ])</td><td>StablePartition_</td></tr><tr><td>stable_sort_(first, last [,opᵃ])</td><td>StableSort_</td></tr><tr><td>sort_(first, last [,opᵃ])</td><td>Sort_</td></tr><tr><td>partial_sort_(first, middle, last [,opᵃ])</td><td>PartialSort_</td></tr><tr><td>partial_sort_copy_ (first, last, res_first, res_last [,opᵃ]) </td><td>PartialSortCopy_</td></tr><tr><td>nth_element_(first, nth, last [,opᵃ])</td><td>NthElement_</td></tr><tr><td>merge_( first1, last1, first2, last2, output [,op ᵃ])</td><td>Merge_</td></tr><tr><td>inplace_merge_(first, middle, last [,opᵃ])</td><td>InplaceMerge_</td></tr><tr><td>set_union_(first1, last1, first2, last2, output [,op
|
|
ᵃ])</td><td>SetUnion_</td></tr><tr><td>push_heap_(first, last [,op ᵃ])</td><td>PushHeap_</td></tr><tr><td>pop_heap_(first, last [,op ᵃ])</td><td>PopHeap_</td></tr><tr><td>make_heap_(first, last [,op ᵃ])</td><td>MakeHeap_</td></tr><tr><td>sort_heap_(first, last [,op ᵃ])</td><td>SortHeap_</td></tr><tr><td>next_permutation_(first, last [,op ᵃ])</td><td>NextPermutation_</td></tr><tr><td>prev_permutation_(first, last [,op ᵃ])</td><td>PrevPermutation_</td></tr><tr><td>inner_product_(first1, last1, first2, init [,op1ᵃ] [,op2ᵃ]) </td><td>InnerProduct_</td></tr><tr><td>partial_sum_(first, last, output [,opᵃ])</td><td>PartialSum_</td></tr><tr><td>adjacent_difference_(first, last, output [,opᵃ])</td><td>AdjacentDifference_</td></tr><tr><td>replace_(first, last, old_value, new_value)</td><td>Replace_</td></tr><tr><td>replace_if_(first, last, opᵃ, new_value)</td><td>ReplaceIf_</td></tr><tr><td>replace_copy_(first, last, result, old_value,
|
|
new_value)</td><td>ReplaceCopy_</td></tr><tr><td>replace_copy_if_(first, last, result, opᵃ, new_value)</td><td>ReplaceCopyIf_</td></tr><tr><td>rotate_(first, middle, last)ᵇ</td><td>Rotate_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>
|
|
</p><div class="table"><a name="d0e4996"></a><p class="title"><b>Table 4. STL container methods</b></p><div class="table-contents"><table summary="STL container methods" border="1"><colgroup><col><col></colgroup><thead><tr><th>STL container methods(common) in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>container::reference front_(container)</td><td>Front_</td></tr><tr><td>container::reference back_(container)</td><td>Back_</td></tr><tr><td>container::iterator begin_(container)</td><td>Begin_</td></tr><tr><td>container::iterator end_(container)</td><td>End_</td></tr><tr><td>container::reverse_iterator rbegin_(container)</td><td>RBegin_</td></tr><tr><td>container::reverse_iterator rend_(container)</td><td>REnd_</td></tr><tr><td>void push_back_(container, value)</td><td>Push_Back_</td></tr><tr><td>void pop_back_(container, value)</td><td>Pop_Back_</td></tr><tr><td>void push_front_(container, value)</td><td>Push_Front_</td></tr><tr><td>void pop_front_(container, value)</td><td>Pop_Front_</td></tr><tr><td>void clear_(container)</td><td>Clear_</td></tr><tr><td>size_type capacity_(container)</td><td>Capacity_</td></tr><tr><td>size_type size_(container)</td><td>Size_</td></tr><tr><td>size_type max_size_(container)</td><td>Max_Size_</td></tr><tr><td>void reserve_(container, value)</td><td>Reserve _</td></tr><tr><td>void resize_(container, value)</td><td>Resize _</td></tr><tr><td>iterator insert_(container, pos, value)</td><td>Insert_</td></tr><tr><td>void insert_( container , pos, first, last)</td><td>Insert_</td></tr><tr><td>void insert_( container , pos, number, value)</td><td>Insert_</td></tr><tr><td>void swap_( container , other_container)</td><td>Swap_</td></tr><tr><td>void erase_( container , pos)</td><td>Erase_</td></tr><tr><td>void erase_( container , first, last) </td><td>Erase_</td></tr><tr><td>bool empty_( container)</td><td>Empty_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>
|
|
</p><div class="table"><a name="d0e5127"></a><p class="title"><b>Table 5. STL list methods</b></p><div class="table-contents"><table summary="STL list methods" border="1"><colgroup><col><col></colgroup><thead><tr><th>std::list methods in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>void list_remove_(container, value)</td><td>ListRemove_</td></tr><tr><td>void list_remove_if_(container, opᵃ)</td><td>ListRemove_If_</td></tr><tr><td>void list_merge_(container, other_list)</td><td>ListMerge_</td></tr><tr><td>void list_merge_(container, other_list, opᵃ)</td><td>ListMerge_</td></tr><tr><td>void splice_(container, iterator, other_list)</td><td>Splice_</td></tr><tr><td>void splice_(container, iterator, other_list,
|
|
iterator)</td><td>Splice_</td></tr><tr><td>void splice_(container, iterator, other_list, first,
|
|
last)</td><td>Splice_</td></tr><tr><td>void list_reverse_(container)</td><td>ListReverse_</td></tr><tr><td>void list_unique_(container)</td><td>ListUnique_</td></tr><tr><td>void list_unique_(container, opᵃ)</td><td>ListUnique_</td></tr><tr><td>void list_sort_(container)</td><td>ListSort_</td></tr><tr><td>void list_sort_(container, opᵃ)</td><td>ListSort_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>
|
|
</p><div class="table"><a name="d0e5203"></a><p class="title"><b>Table 6. STL associative container methods </b></p><div class="table-contents"><table summary="STL associative container methods " border="1"><colgroup><col><col></colgroup><thead><tr><th>Associative container methods in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>iterator insert_(container, pos, value)</td><td>Insert_</td></tr><tr><td>void insert_( container , first, last)</td><td>Insert_</td></tr><tr><td>pair<iterator, bool> insert_( container , value)</td><td>Insert_</td></tr><tr><td>void associative_erase_( container , pos)</td><td>Associative_Erase_</td></tr><tr><td>void associative_erase_( container , first, last)</td><td>Associative_Erase_</td></tr><tr><td>size_type associative_erase_( container , key)</td><td>Associative_Erase_</td></tr><tr><td>iterator associative_find_( container , key)</td><td>Associative_Find_</td></tr><tr><td>size_type associative_count_( container , key)</td><td>AssociativeCount_</td></tr><tr><td>iterator associative_lower_bound_( container , key)</td><td>Associative_Lower_Bound_</td></tr><tr><td>iterator associative_upper_bound_( container , key)</td><td>Associative_Upper_Bound_</td></tr><tr><td>pair<iterator, iterator> associative_equal_range_(
|
|
container , key)</td><td>Associative_Equal_Range_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>
|
|
</p><div class="table"><a name="d0e5274"></a><p class="title"><b>Table 7. STL pair</b></p><div class="table-contents"><table summary="STL pair" border="1"><colgroup><col><col></colgroup><thead><tr><th>std::pair in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>first_type first_(pair<T1, T2>)</td><td>First_</td></tr><tr><td>second_type second_(pair<T1, T2>)</td><td>Second_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p>
|
|
</p><div class="table"><a name="d0e5300"></a><p class="title"><b>Table 8. STL string</b></p><div class="table-contents"><table summary="STL string" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>STL string method</th><th>std::string method in container.hpp</th><th>Functor</th></tr></thead><tbody><tr><td>substr (size_type pos, size_type size)</td><td>string substr_(container, pos, length)</td><td>Substr_</td></tr><tr><td>int compare(string)</td><td>int string_compare_(container, another_string)</td><td>StringCompare_</td></tr><tr><td>int compare(char*)</td><td>int string_compare_(container, another_string)</td><td>StringCompare_</td></tr><tr><td>int compare(size_type pos, size_type size, string)</td><td>int string_compare_(container, pos, size,
|
|
another_string)</td><td>StringCompare_</td></tr><tr><td>int compare (size_type pos, size_type size, string, size_type
|
|
length)</td><td>int string_compare_(container, pos, size, another_string,
|
|
length)</td><td>StringCompare_</td></tr><tr><td>string& append(const string&)</td><td>string& append_(container, another_string)</td><td>Append_</td></tr><tr><td>string& append (charT*)</td><td>string& append_(container, another_string)</td><td>Append_</td></tr><tr><td>string& append (string , size_type pos, size_type
|
|
size)</td><td>string& append_(container, other_string, pos,
|
|
size)</td><td>Append_</td></tr><tr><td>string& append (charT*, size_type size)</td><td>string& append_(container, another_string,
|
|
length)</td><td>Append_</td></tr><tr><td>string& append (size_type size, charT)</td><td>string& append_(container, size, char)</td><td>Append_</td></tr><tr><td>string& append (iterator begin, iterator end)</td><td>string& append_(container, begin, end)</td><td>Append_</td></tr><tr><td>string& insert (size_type pos, charT*)</td><td>string& string_insert_(container, pos,
|
|
other_string)</td><td>StringInsert_</td></tr><tr><td>string& insert(size_type pos, charT*,size_type n)</td><td>string& string_insert_(container, pos, other_string,
|
|
n)</td><td>StringInsert_</td></tr><tr><td>string& insert(size_type pos,size_type n, charT
|
|
c)</td><td>string& string_insert_(container, pos, n, c)</td><td>StringInsert_</td></tr><tr><td>string& insert (size_type pos, const string&)</td><td>string& string_insert_(container, pos,
|
|
other_string)</td><td>StringInsert_</td></tr><tr><td>string& insert (size_type pos, const string&,
|
|
size_type pos1, size_type n)</td><td>string& string_insert_(container, pos, other_string,
|
|
pos1, n)</td><td>StringInsert_</td></tr><tr><td>string& erase(size_type pos=0, size_type n=npos)</td><td>string& string_erase_(container, pos, n)</td><td>StringErase_</td></tr><tr><td>string& assign(const string&)</td><td>string& string_assign_(container, another_string)</td><td>StringAssign_</td></tr><tr><td>string& assign(const charT*)</td><td>string& string_assign_(container, another_string)</td><td>StringAssign_</td></tr><tr><td>string& assign(const string&, size_type pos,
|
|
size_type n)</td><td>string& string_assign_(container, another_string, pos,
|
|
n)</td><td>StringAssign_</td></tr><tr><td>string& assign(const charT*, size_type n)</td><td>string& string_assign_(container, another_string,
|
|
n)</td><td>StringAssign_</td></tr><tr><td>string& assign(size_type n, charT c)</td><td>string& string_assign_(container, n, c)</td><td>StringAssign_</td></tr><tr><td>string& assign(iterator first, iterator last)</td><td>string& string_assign_(container, first, last)</td><td>StringAssign_</td></tr><tr><td>string& replace(size_type pos, size_type n, const
|
|
string&)</td><td>string& string_replace_(container, pos, n,
|
|
another_string)</td><td>StringReplace_</td></tr><tr><td>string& replace(size_type pos, size_type n, const charT*,
|
|
size_type n1)</td><td>string& string_replace_(container, pos, n,
|
|
another_string, n1)</td><td>StringReplace_</td></tr><tr><td>string& replace(size_type pos, size_type n, const
|
|
charT*)</td><td>string& string_replace_(container, pos, n,
|
|
another_string)</td><td>StringReplace_</td></tr><tr><td>string& replace(size_type pos, size_type n, size_type n1,
|
|
charT c)</td><td>string& string_replace_(container, pos, n, n1, c)</td><td>StringReplace_</td></tr><tr><td>string& replace(iterator first, iterator last, const
|
|
string&)</td><td>string& string_replace_(container, first, last,
|
|
another_string)</td><td>StringReplace_</td></tr><tr><td>string& replace(iterator first, iterator last, const
|
|
charT*, size_type n)</td><td>string& string_replace_(container, first, last,
|
|
another_string, n)</td><td>StringReplace_</td></tr><tr><td>string& replace(iterator first, iterator last, const
|
|
charT*)</td><td>string& string_replace_(container, first, last,
|
|
another_string)</td><td>StringReplace_</td></tr><tr><td>string& replace(iterator first, iterator last, size_type
|
|
n, charT c)</td><td>string& string_replace_(container, first, last, n,
|
|
c)</td><td>StringReplace_</td></tr><tr><td>string& replace(iterator first, iterator last, iterator
|
|
f, iterator l)</td><td>string& string_replace_(container, first, last, f,
|
|
l)</td><td>StringReplace_</td></tr><tr><td>const charT* c_str()</td><td>const charT* c_str_(container)</td><td>CStr_</td></tr><tr><td>const charT* data()</td><td>const charT* string_data_(container)</td><td>StringData_</td></tr><tr><td>size_type copy(charT* buf, size_type n, size_type pos =
|
|
0)</td><td>size_type string_copy_(container, buf, n, pos); size_type
|
|
string_copy_(container, buf, n) </td><td>StringCopy_</td></tr><tr><td>size_type find(charT* s, size_type pos, size_type n)</td><td>size_type string_find_(container, s, pos, n)</td><td>StringFind_</td></tr><tr><td>size_type find(charT* s, size_type pos=0)</td><td>size_type string_find_(container, s, pos); size_type
|
|
string_find_(container, s) </td><td>StringFind_</td></tr><tr><td>size_type find(const string& s, size_type pos=0)</td><td>size_type string_find_(container, s, pos) size_type
|
|
string_find_(container, s) </td><td>StringFind_</td></tr><tr><td>size_type find(charT c, size_type pos=0)</td><td>size_type string_find_(container, c, pos) size_type
|
|
string_find_(container, c) </td><td>StringFind_</td></tr><tr><td>size_type rfind(charT* s, size_type pos, size_type n)</td><td>size_type string_rfind_(container, s, pos, n)</td><td>StringRFind_</td></tr><tr><td>size_type rfind(charT* s, size_type pos=npos)</td><td>size_type string_rfind_(container, s, pos); size_type
|
|
string_rfind_(container, s) </td><td>StringRFind_</td></tr><tr><td>size_type rfind(const string& s, size_type
|
|
pos=npos)</td><td>size_type string_rfind_(container, s, pos); size_type
|
|
string_rfind_(container, s) </td><td>StringRFind_</td></tr><tr><td>size_type rfind(charT c, size_type pos=npos)</td><td>size_type string_rfind_(container, c, pos) size_type
|
|
string_rfind_(container, c) </td><td>StringRFind_</td></tr><tr><td>size_type find_first_of(charT* s, size_type pos, size_type
|
|
n)</td><td>size_type find_first_of_(container, s, pos, n)</td><td>StringFindFirstOf_</td></tr><tr><td>size_type find_first_of (charT* s, size_type pos=0)</td><td>size_type find_first_of_(container, s, pos); size_type
|
|
find_first_of_(container, s) </td><td>StringFindFirstOf_</td></tr><tr><td>size_type find_first_of (const string& s, size_type
|
|
pos=0)</td><td>size_type find_first_of_(container, s, pos); size_type
|
|
find_first_of_(container, s) </td><td>StringFindFirstOf_</td></tr><tr><td>size_type find_first_of (charT c, size_type pos=0)</td><td>size_type find_first_of_(container, c, pos) size_type
|
|
find_first_of_(container, c) </td><td>StringFindFirstOf_</td></tr><tr><td>size_type find_first_not_of(charT* s, size_type pos,
|
|
size_type n)</td><td>size_type find_first_not_of_(container, s, pos, n)</td><td>StringFindFirstNotOf_</td></tr><tr><td>size_type find_first_not_of (charT* s, size_type
|
|
pos=0)</td><td>size_type find_first_not_of_(container, s, pos); size_type
|
|
find_first_not_of_(container, s) </td><td>StringFindFirstNotOf_</td></tr><tr><td>size_type find_first_not_of (const string& s, size_type
|
|
pos=0)</td><td>size_type find_first_not_of_(container, s, pos); size_type
|
|
find_first_not_of_(container, s) </td><td>StringFindFirstNotOf_</td></tr><tr><td>size_type find_first_not_of (charT c, size_type
|
|
pos=0)</td><td>size_type find_first_not_of_(container, c, pos); size_type
|
|
find_first_not_of_(container, c) </td><td>StringFindFirstNotOf_</td></tr><tr><td>size_type find_last_of(charT* s, size_type pos, size_type
|
|
n)</td><td>size_type find_last_of_(container, s, pos, n)</td><td>StringFindLastOf_</td></tr><tr><td>size_type find_last_of (charT* s, size_type pos=npos)</td><td>size_type find_last_of_(container, s, pos); size_type
|
|
find_last_of_(container, s) </td><td>StringFindLastOf_</td></tr><tr><td>size_type find_last_of (const string& s, size_type
|
|
pos=npos)</td><td>size_type find_last_of_(container, s, pos); size_type
|
|
find_last_of_(container, s) </td><td>StringFindLastOf_</td></tr><tr><td>size_type find_last_of (charT c, size_type pos=npos)</td><td>size_type find_last_of_(container, c, pos); size_type
|
|
find_last_of_(container, c) </td><td>StringFindLastOf_</td></tr><tr><td>size_type find_last_not_of(charT* s, size_type pos, size_type
|
|
n)</td><td>size_type find_last_not_of_(container, s, pos, n)</td><td>StringFindLastNotOf_</td></tr><tr><td>size_type find_last_not_of (charT* s, size_type
|
|
pos=npos)</td><td>size_type find_last_not_of_(container, s, pos); size_type
|
|
find_last_of_(container, s) </td><td>StringFindLastNotOf_</td></tr><tr><td>size_type find_last_not_of (const string& s, size_type
|
|
pos=npos)</td><td>size_type find_last_not_of_(container, s, pos); size_type
|
|
find_last_not_of_(container, s) </td><td>StringFindLastNotOf_</td></tr><tr><td>size_type find_last_not_of (charT c, size_type
|
|
pos=npos)</td><td>size_type find_last_not_of_(container, c, pos); size_type
|
|
find_last_not_of_(container, c) </td><td>StringFindLastNotOf_</td></tr></tbody></table></div></div><p><br class="table-break">
|
|
</p><p><span class="underline">Notes</span>: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>ᵃ: algorithms requiring a predicate need to make them eUML compatible
|
|
by wrapping them inside a Predicate_ functor. For example,
|
|
std::less<int> => Predicate_<std::less<int> >()</p></li><li class="listitem"><p>ᵇ: If using the SGI STL implementation, these functors use the SGI
|
|
return value</p></li></ul></div><p>
|
|
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Acknowledgements </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> |