43 #define PROPERTYPTRT_CC
45 #include "PropertyPtr.hh"
46 #include "ResourceManager.hh"
47 #include "PropertyDefines.hh"
51 template <
class PropT,
class HandleT>
54 ptr::shared_ptr<PropT>::get()->set_handle(_handle);
57 template <
class PropT,
class HandleT>
65 if(!locked() && !persistent() && ptr::shared_ptr<PropT>::use_count() == 2) {
66 resMan_.release_property(HandleT(handle().idx()));
71 template <
class PropT,
class HandleT>
73 ptr::shared_ptr<PropT>::get()->resize(_size);
76 template <
class PropT,
class HandleT>
77 const std::string& PropertyPtr<PropT,HandleT>::name()
const {
78 return ptr::shared_ptr<PropT>::get()->name();
81 template <
class PropT,
class HandleT>
82 void PropertyPtr<PropT,HandleT>::delete_element(
size_t _idx) {
83 ptr::shared_ptr<PropT>::get()->delete_element(_idx);
86 template <
class PropT,
class HandleT>
87 void PropertyPtr<PropT,HandleT>::swap_elements(
size_t _idx0,
size_t _idx1) {
88 ptr::shared_ptr<PropT>::get()->swap(_idx0, _idx1);
91 template <
class PropT,
class HandleT>
92 void PropertyPtr<PropT,HandleT>::set_handle(
const OpenVolumeMeshHandle& _handle) {
93 return ptr::shared_ptr<PropT>::get()->set_handle(_handle);
96 template <
class PropT,
class HandleT>
97 OpenVolumeMeshHandle PropertyPtr<PropT,HandleT>::handle()
const {
98 return ptr::shared_ptr<PropT>::get()->handle();
101 template <
class PropT,
class HandleT>
102 void PropertyPtr<PropT,HandleT>::delete_multiple_entries(
const std::vector<bool>& _tags) {
103 ptr::shared_ptr<PropT>::get()->delete_multiple_entries(_tags);
PropertyPtr(PropT *_ptr, ResourceManager &_resMan, HandleT _handle)
Constructor.
virtual ~PropertyPtr()
Destructor.