00001 #ifndef guard_vector_anyop 00002 #define guard_vector_anyop 00003 /** 00004 * @file 00005 * 00006 * @brief CORBA::Any insertion/extraction for std::vector 00007 * 00008 * $Id: Vector_AnyOp_T.h 90586 2010-06-14 13:48:01Z parsons $ 00009 * 00010 * @author Jeff Parsons 00011 */ 00012 00013 #include <vector> 00014 00015 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 namespace TAO 00018 { 00019 /// Copying 00020 template<typename T> 00021 void 00022 insert_value_vector ( 00023 CORBA::Any &, 00024 const std::vector<T> &) 00025 { 00026 } 00027 00028 /// Non-copying 00029 template<typename T> 00030 void 00031 insert_value_vector ( 00032 CORBA::Any &, 00033 std::vector<T> *) 00034 { 00035 } 00036 00037 template<typename T> 00038 bool 00039 extract_value_vector ( 00040 const CORBA::Any &, 00041 std::vector<T> &) 00042 { 00043 return true; 00044 } 00045 00046 /// Copying 00047 template<typename T> 00048 void 00049 insert_objref_vector ( 00050 CORBA::Any &, 00051 const std::vector<typename T::_ptr_type> &) 00052 { 00053 } 00054 00055 /// Non-copying 00056 template<typename T> 00057 void 00058 insert_objref_vector ( 00059 CORBA::Any &, 00060 std::vector<typename T::_ptr_type> *) 00061 { 00062 } 00063 00064 template<typename T> 00065 bool 00066 extract_objref_vector ( 00067 const CORBA::Any &, 00068 std::vector<typename T::_ptr_type> &) 00069 { 00070 return true; 00071 } 00072 00073 /// Copying 00074 template<typename T_forany> 00075 void 00076 insert_array_vector ( 00077 CORBA::Any &, 00078 const std::vector<typename T_forany::_slice_type *> &) 00079 { 00080 } 00081 00082 /// Non-copying 00083 template<typename T_forany> 00084 void 00085 insert_array_vector ( 00086 CORBA::Any &, 00087 std::vector<typename T_forany::_slice_type *> *) 00088 { 00089 } 00090 00091 template<typename T_forany> 00092 bool 00093 extract_array_vector ( 00094 const CORBA::Any &, 00095 std::vector<typename T_forany::_slice_type *> &) 00096 { 00097 return true; 00098 } 00099 } 00100 00101 TAO_END_VERSIONED_NAMESPACE_DECL 00102 00103 #endif // guard_vector_anyop