libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId > Class Template Reference

`#include <IWORKContainerContext.h>`

Inheritance diagram for libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >:

## Public Member Functions
| IWORKContainerContext (IWORKXMLParserState &state, std::deque< Type > &elements)
| IWORKContainerContext (IWORKXMLParserState &state, Dict_t &dict, std::deque< Type > &elements)
Public Member Functions inherited from libetonyek::IWORKXMLContextBase< IWORKXMLContextElement, IWORKXMLParserState >
| IWORKXMLContextBase (IWORKXMLParserState &state)
| IWORKXMLContextBase (IWORKXMLParserState &state, const T &a)
IWORKXMLParserState & | getState ()
Public Member Functions inherited from libetonyek::IWORKXMLContext
virtual | ~IWORKXMLContext ()=0
virtual void | CDATA (const char *value)
| Process CDATA content of an element.

## Protected Member Functions
IWORKXMLContextPtr_t | element (const int name) override
| Create a context for parsing a child element.
void | endOfElement () override
| Signalize the end of an element.
Protected Member Functions inherited from libetonyek::IWORKXMLContextBase< IWORKXMLContextElement, IWORKXMLParserState >
IWORKCollector & | getCollector () const
int | getToken (const char *const value) const
bool | isCollector () const
Protected Member Functions inherited from libetonyek::IWORKXMLContextElement
| IWORKXMLContextElement (IWORKXMLParserState &)
void | attribute (int name, const char *value) override
| Process an attribute.
void | text (const char *value) override
| Process textual content of an element.
const boost::optional< ID_t > & | getId () const
void | setId (const char *value)
Protected Member Functions inherited from libetonyek::IWORKXMLContextMinimal
| IWORKXMLContextMinimal ()
void | startOfElement () override
| Signalize the start of an element.
void | endOfElement () override
| Signalize the end of an element.

## Private Types
typedef std::unordered_map< ID_t, Type > | Dict_t

## Private Member Functions
void | handleRef ()
| IWORKContainerContext (IWORKContainerContext &)
IWORKContainerContext & | operator= (IWORKContainerContext &)

## Private Attributes
Dict_t *const | m_dict
boost::optional< ID_t > | m_ref
std::deque< Type > & | m_elements
Collector< Type, std::deque< Type > > | m_collector

## Additional Inherited Members
Protected Attributes inherited from libetonyek::IWORKXMLContextBase< IWORKXMLContextElement, IWORKXMLParserState >
IWORKXMLParserState & | m_state

## Member Typedef Documentation

## ◆ Dict_t

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

typedef std::unordered_map<ID_t, Type> libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::Dict_t
| private

## Constructor & Destructor Documentation

## ◆ IWORKContainerContext() [1/3]

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::IWORKContainerContext | ( | IWORKXMLParserState & | state,
|  | std::deque< Type > & | elements )
| inline

## ◆ IWORKContainerContext() [2/3]

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::IWORKContainerContext | ( | IWORKXMLParserState & | state,
|  | Dict_t & | dict,
|  | std::deque< Type > & | elements )
| inline

## ◆ IWORKContainerContext() [3/3]

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::IWORKContainerContext | ( | IWORKContainerContext< Type, NestedParser, Collector, Id, RefId > & |  | ) |
| private

## Member Function Documentation

## ◆ element()

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

IWORKXMLContextPtr_t libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::element | ( | const int | name | ) |
| inline override protected virtual

Create a context for parsing a child element.

Returns
  A new context or an empty pointer if the child element cannot be handled.

Implements libetonyek::IWORKXMLContext.

Reimplemented in libetonyek::IWORKMutableArrayElement< Type, NestedParser, Collector, Id, RefId >, and libetonyek::IWORKMutableArrayElement< IWORKShadow, CoreImageFilterInfoElement, IWORKDirectCollector, IWORKToken::NS_URI_SF|IWORKToken::core_image_filter_info, IWORKToken::NS_URI_SF|IWORKToken::core_image_filter_info_ref >.

## ◆ endOfElement()

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

void libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::endOfElement | ( |  | ) |
| inline override protected virtual

Signalize the end of an element.

Implements libetonyek::IWORKXMLContext.

Reimplemented in libetonyek::IWORKMutableArrayElement< Type, NestedParser, Collector, Id, RefId >, and libetonyek::IWORKMutableArrayElement< IWORKShadow, CoreImageFilterInfoElement, IWORKDirectCollector, IWORKToken::NS_URI_SF|IWORKToken::core_image_filter_info, IWORKToken::NS_URI_SF|IWORKToken::core_image_filter_info_ref >.

## ◆ handleRef()

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

void libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::handleRef | ( |  | ) |
| inline private

Referenced by element(), and endOfElement().

## ◆ operator=()

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

IWORKContainerContext & libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::operator= | ( | IWORKContainerContext< Type, NestedParser, Collector, Id, RefId > & |  | ) |
| private

## Member Data Documentation

## ◆ m_collector

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

Collector<Type, std::deque<Type> > libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::m_collector
| private

## ◆ m_dict

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

Dict_t* const libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::m_dict
| private

## ◆ m_elements

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

std::deque<Type>& libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::m_elements
| private

## ◆ m_ref

template<typename Type, class NestedParser, template< typename T, class C > class Collector, unsigned Id, unsigned RefId = 0>

boost::optional<ID_t> libetonyek::IWORKContainerContext< Type, NestedParser, Collector, Id, RefId >::m_ref
| private

The documentation for this class was generated from the following file:

- IWORKContainerContext.h