SAGA Adaptor CPI v.1.0
|
00001 // Copyright (c) 2009 STFC 00002 // 00003 // Distributed under the Boost Software License, Version 1.0. (See accompanying 00004 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 00005 #ifndef SAGA_PACKAGES_ISN_ENTITY_DATA_HPP 00006 #define SAGA_PACKAGES_ISN_ENTITY_DATA_HPP 00007 #include <string> 00008 #include <vector> 00009 #include <iostream> 00010 00011 #include <saga/saga/util.hpp> 00012 #include <saga/saga/base.hpp> 00013 #include <saga/saga/types.hpp> 00014 #include <saga/saga/session.hpp> 00015 #include <saga/saga/call.hpp> 00016 #include <saga/saga/detail/attribute.hpp> 00017 #include <saga/saga/packages/isn/config.hpp> 00018 00019 namespace saga { namespace impl { class entity_data; } } 00020 00021 namespace saga 00022 { 00023 00024 namespace isn { 00025 00035 class SAGA_ISN_PACKAGE_EXPORT entity_data 00036 : public saga::object, 00037 public saga::detail::attribute<entity_data> 00038 { 00039 protected: 00040 friend struct saga::detail::attribute<entity_data>; 00041 friend class saga::impl::entity_data; 00042 00043 explicit entity_data(saga::impl::entity_data* impl); 00044 00045 using saga::detail::attribute<entity_data>::remove_attribute; 00046 00047 public: 00048 entity_data(void); 00049 explicit entity_data(saga::object const& o); 00050 00051 using saga::detail::attribute<entity_data>::get_attribute; 00052 using saga::detail::attribute<entity_data>::get_vector_attribute; 00053 using saga::detail::attribute<entity_data>::set_attribute; 00054 using saga::detail::attribute<entity_data>::set_vector_attribute; 00055 00056 ~entity_data (void); 00057 00058 // default operator=() and copy ctor are ok 00059 entity_data &operator= (saga::object const& o); 00060 00061 }; // entity_data 00062 } // namespace isn 00063 } // namespace saga 00065 #endif