13#ifndef ML_PROPERTY_ACCESSOR_H
14#define ML_PROPERTY_ACCESSOR_H
27#include <boost/mem_fn.hpp>
28#include <boost/type_traits/add_const.hpp>
29#include <boost/type_traits/add_reference.hpp>
30#include <boost/type_traits/remove_const.hpp>
34#pragma warning( push )
35#pragma warning( disable : 4344 )
64 if (_index.getManager()!=
container.getPropertyManager()) {
67 if (!_index.isValid()) {
68 container.getPropertyManager()->createProperty(_index.getName(), _defaultValue);
76 if (_index.getManager()!=
container.getPropertyManager()) {
79 if (_index.isValid()) {
Project global and OS specific declarations.
const T & get(const PropertyContainer &container) const
DefaultPropertyAccessor(const PropertyManager::Pointer &manager, const std::string &propertyName, const T &defaultValue)
DefaultPropertyAccessor< T > type
T & operator()(PropertyContainer &container) const
boost::intrusive_ptr< type > PointerType
boost::intrusive_ptr< const type > ConstPointerType
void set(PropertyContainer &container, const T &value) const
A base-class enabling the use of boost::intrusive_ptr in derived classes.
boost::intrusive_ptr< type > Pointer
A self-updating index for efficient name-based access of properties.
#define ML_BAD_PARAMETER
A bad/invalid parameter (or even an inappropriate image) has been passed to a module or an algorithm;...
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
#define VESSELGRAPH_END_NAMESPACE
#define VESSELGRAPH_BEGIN_NAMESPACE