Murl::Graph::ResourceArrayTarget< ObjectType, MIN_NUMBER_OF_RESOURCES, MAX_NUMBER_OF_RESOURCES, RESERVED_NUMBER_OF_RESOURCES > Interface Template Reference

The ResourceArrayTarget class. More...

#include "murl_graph_resource_array_target.h"

Inheritance diagram for Murl::Graph::ResourceArrayTarget< ObjectType, MIN_NUMBER_OF_RESOURCES, MAX_NUMBER_OF_RESOURCES, RESERVED_NUMBER_OF_RESOURCES >:

Public Member Functions

 ResourceArrayTarget ()
 The constructor.
 
Bool DeserializeResourceIds (IDeserializeAttributeTracker *tracker)
 Deserialize all defined target resource IDs from a given tracker. More...
 
Bool DeserializeResourceId (IDeserializeAttributeTracker *tracker)
 Deserialize a single target resource ID from a given tracker. More...
 
Bool DeserializeResourceId (IDeserializeAttributeTracker *tracker, UInt32 index)
 Deserialize a single target resource ID from a given tracker at a given index. More...
 

Detailed Description

template<class ObjectType, UInt32 MIN_NUMBER_OF_RESOURCES, UInt32 MAX_NUMBER_OF_RESOURCES, UInt32 RESERVED_NUMBER_OF_RESOURCES>
interface Murl::Graph::ResourceArrayTarget< ObjectType, MIN_NUMBER_OF_RESOURCES, MAX_NUMBER_OF_RESOURCES, RESERVED_NUMBER_OF_RESOURCES >

The ResourceArrayTarget class.

This class implements an IGenericResourceTarget that can reference any number of resource objects. The MIN_NUMBER_OF_RESOURCES and MAX_NUMBER_OF_RESOURCES template parameters represent the minimum and maximum number of referenced resources that must be present for the Init() method to succeed. The RESERVED_NUMBER_OF_RESOURCES parameter defines the initial size of the reference array. Must be in the range from MIN_NUMBER_OF_RESOURCES to MAX_NUMBER_OF_RESOURCES.

Member Function Documentation

◆ DeserializeResourceIds()

template<class ObjectType , UInt32 MIN_NUMBER_OF_RESOURCES, UInt32 MAX_NUMBER_OF_RESOURCES, UInt32 RESERVED_NUMBER_OF_RESOURCES>
Bool Murl::Graph::ResourceArrayTarget< ObjectType, MIN_NUMBER_OF_RESOURCES, MAX_NUMBER_OF_RESOURCES, RESERVED_NUMBER_OF_RESOURCES >::DeserializeResourceIds ( IDeserializeAttributeTracker tracker)
inline

Deserialize all defined target resource IDs from a given tracker.

Parameters
trackerThe tracker to deserialize.
Returns
true if successful.

References Murl::Graph::IDeserializeAttributeTracker::GetAttributeValues(), Murl::Array< DataType >::GetCount(), Murl::Graph::IDeserializeAttributeTracker::MakeResourceIdAbsolute(), and Murl::Array< DataType >::SetCount().

◆ DeserializeResourceId() [1/2]

template<class ObjectType , UInt32 MIN_NUMBER_OF_RESOURCES, UInt32 MAX_NUMBER_OF_RESOURCES, UInt32 RESERVED_NUMBER_OF_RESOURCES>
Bool Murl::Graph::ResourceArrayTarget< ObjectType, MIN_NUMBER_OF_RESOURCES, MAX_NUMBER_OF_RESOURCES, RESERVED_NUMBER_OF_RESOURCES >::DeserializeResourceId ( IDeserializeAttributeTracker tracker)
inline

Deserialize a single target resource ID from a given tracker.

The actual index is retrieved from the tracker's base attribute.

Parameters
trackerThe tracker to deserialize.
Returns
true if successful.

References Murl::Graph::IDeserializeAttributeTracker::GetBaseAttributeName(), and Murl::Util::StringToUInt32().

◆ DeserializeResourceId() [2/2]

template<class ObjectType , UInt32 MIN_NUMBER_OF_RESOURCES, UInt32 MAX_NUMBER_OF_RESOURCES, UInt32 RESERVED_NUMBER_OF_RESOURCES>
Bool Murl::Graph::ResourceArrayTarget< ObjectType, MIN_NUMBER_OF_RESOURCES, MAX_NUMBER_OF_RESOURCES, RESERVED_NUMBER_OF_RESOURCES >::DeserializeResourceId ( IDeserializeAttributeTracker tracker,
UInt32  index 
)
inline

Deserialize a single target resource ID from a given tracker at a given index.

Parameters
trackerThe tracker to deserialize.
indexThe index of the referenced resource.
Returns
true if successful.

References Murl::Graph::IDeserializeAttributeTracker::GetAttributeValue(), Murl::Array< DataType >::GetCount(), Murl::Graph::IDeserializeAttributeTracker::MakeResourceIdAbsolute(), and Murl::Array< DataType >::SetCount().


The documentation for this interface was generated from the following file:
  • murl_graph_resource_array_target.h


Copyright © 2011-2024 Spraylight GmbH.