00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00023
00032
00033
00034 #ifndef _CTTL_NODE_FUNCTORS_H_INCLUDED_
00035 #define _CTTL_NODE_FUNCTORS_H_INCLUDED_
00036
00037 #include "node.h"
00038
00039 namespace cttl {
00040
00041
00053 template< typename StringT = CTTL_STD_STRING >
00054 struct node_insert_go : public std::unary_function< node< StringT >, void >
00055 {
00057 node_insert_go( StringT const& str_ )
00058 :
00059 m_str( str_ )
00060 {}
00061
00072 void operator() ( node< StringT >& node_ )
00073 {
00074 node_.insert_go( m_str );
00075 }
00076
00078 StringT m_str;
00079 };
00080
00092 template< typename StringT = CTTL_STD_STRING >
00093 struct node_insert_stay : public std::unary_function< node< StringT >, void >
00094 {
00096 node_insert_stay( StringT const& str_ )
00097 :
00098 m_str( str_ )
00099 {}
00100
00110 void operator() ( node< StringT >& node_ )
00111 {
00112 node_.insert_stay( m_str );
00113 }
00114
00116 StringT m_str;
00117 };
00118
00119
00120 }
00121
00122 #endif // _CTTL_NODE_FUNCTORS_H_INCLUDED_