7 #ifndef __FWCAMP_CAMP_DETAIL_MAPPROPERTYIMPL_HPP__ 8 #define __FWCAMP_CAMP_DETAIL_MAPPROPERTYIMPL_HPP__ 10 #include "fwCamp/camp/MapValueMapper.hpp" 11 #include "fwCamp/camp/MapMapper.hpp" 12 #include "fwCamp/camp/MapProperty.hpp" 20 class MapPropertyImpl :
public MapProperty
24 typedef MapProperty::ValuePair ValuePair;
25 typedef MapProperty::ObjectPair ObjectPair;
33 MapPropertyImpl(
const std::string& name,
const A& accessor);
40 virtual std::size_t
getSize(
const UserObject&
object)
const;
42 MapProperty::ValuePair getElement(
const UserObject&
object, std::size_t index )
const;
44 virtual void set(
const UserObject& object,
const Value& key,
const Value& value)
const;
48 typedef typename boost::remove_reference<typename A::DataType>::type MapType;
50 typedef typename Mapper::ValueType ValueType;
59 MapType& map(
const UserObject&
object)
const;
68 #include "fwCamp/camp/detail/MapPropertyImpl.hxx"
virtual FWCAMP_API std::size_t getSize(const UserObject &object) const =0
Do the actual retrieval of the size.