10 #ifndef IWORKPROPERTYCONTEXT_H_INCLUDED
11 #define IWORKPROPERTYCONTEXT_H_INCLUDED
13 #include <boost/optional.hpp>
22 template<
typename Property,
typename Context,
int TokenId,
int TokenId2=0>
33 boost::optional<typename IWORKPropertyInfo<Property>::ValueType>
m_value;
36 template<
typename Property,
typename Context,
int TokenId,
int TokenId2>
43 template<
typename Property,
typename Context,
int TokenId,
int TokenId2>
47 if (TokenId == name || (TokenId2 != 0 && TokenId2 == name))
48 return std::make_shared<Context>(getState(),
m_value);
51 ETONYEK_DEBUG_MSG((
"IWORKPropertyContext<...>::element: found unexpected element %d\n", name));
56 template<
typename Property,
typename Context,
int TokenId,
int TokenId2>
67 #endif // IWORKPROPERTYCONTEXT_H_INCLUDED
#define ETONYEK_DEBUG_MSG(M)
Definition: libetonyek_utils.h:54
std::shared_ptr< IWORKXMLContext > IWORKXMLContextPtr_t
Definition: IWORKXMLContext.h:18
Definition: IWORKToken.h:335
Represents a (hierarchical) property map.
Definition: IWORKPropertyMap.h:24
void clear()
Clear property.
Definition: IWORKPropertyMap.h:145
IWORKPropertyMap & m_propMap
Definition: IWORKPropertyMapElement.cpp:756
Definition: IWORKToken.h:696
Definition: IWORKPropertyContextBase.h:20
const char * name
Definition: IWORKToken.cpp:43
Definition: IWORKXMLParserState.h:31
void endOfElement() override
Definition: IWORKPropertyContext.h:57
IWORKXMLContextPtr_t element(int name) override
Definition: IWORKPropertyContext.h:44
boost::optional< IWORKGradient > & m_value
Definition: IWORKFillElement.cpp:131
boost::optional< typename IWORKPropertyInfo< Property >::ValueType > m_value
Definition: IWORKPropertyContext.h:33
void put(const typename IWORKPropertyInfo< Property >::ValueType &value)
Insert a new value for key key.
Definition: IWORKPropertyMap.h:134
IWORKPropertyContext(IWORKXMLParserState &state, IWORKPropertyMap &propMap)
Definition: IWORKPropertyContext.h:37
Definition: IWORKPropertyContext.h:23