00001 #ifndef s11n_net_s11n_std_set_HPP_INCLUDED
00002 #define s11n_net_s11n_std_set_HPP_INCLUDED 1
00003
00004 #include <s11n.net/s11n/proxy/listish.hpp>
00005
00006 #define S11N_LIST_TYPE std::set
00007 #define S11N_LIST_TYPE_NAME "set"
00008
00009 #ifndef S11N_LIST_TYPE_PROXY
00010 #define S11N_LIST_TYPE_PROXY ::s11n::list::serialize_list_f
00011 #endif
00012
00013 #ifndef S11N_LIST_TYPE_DESER_PROXY
00014 # define S11N_LIST_TYPE_DESER_PROXY ::s11n::list::deserialize_list_f
00015 #endif
00016
00017
00018 namespace s11n {
00019
00020
00021
00022
00023 template < typename T1 >
00024 struct S11N_EXPORT_API default_cleanup_functor< S11N_LIST_TYPE< T1 > >
00025 {
00026 typedef T1 value_type;
00027 typedef S11N_LIST_TYPE< T1 > serializable_type;
00028
00029
00030
00031
00032
00033
00034 void operator()( serializable_type & p ) const throw()
00035 {
00036 p.clear();
00037 }
00038 };
00039
00040 }
00041
00042
00043 #define S11N_TEMPLATE_TYPE S11N_LIST_TYPE
00044 #define S11N_TEMPLATE_TYPE_NAME S11N_LIST_TYPE_NAME
00045 #define S11N_TEMPLATE_TYPE_PROXY S11N_LIST_TYPE_PROXY
00046 #define S11N_TEMPLATE_TYPE_DESER_PROXY S11N_LIST_TYPE_DESER_PROXY
00047 #include <s11n.net/s11n/proxy/reg_s11n_traits_template1.hpp>
00048 #undef S11N_LIST_TYPE_DESER_PROXY
00049 #undef S11N_LIST_TYPE_PROXY
00050 #undef S11N_LIST_TYPE_NAME
00051 #undef S11N_LIST_TYPE
00052
00053
00054 #endif // s11n_net_s11n_std_set_HPP_INCLUDED