Rogue Wave Views
Prototypes Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
List of all members | Public Member Functions
IlvMultipleGroupAccessor Class Reference

Combines the features of IlvGroupAccessor and IlvMultipleAccessor. More...

#include <ilviews/protos/group.h>

Inheritance diagram for IlvMultipleGroupAccessor:
IlvMultipleAccessor IlvAccessor

Public Member Functions

 IlvMultipleGroupAccessor (const char *name, IlUShort count, const char **names, IlvValueTypeClass **types)
 Creates a new multiple accessor. More...
 
virtual IlBoolean changeValue (IlvAccessorHolder *object, const IlvValue &val)
 Called by the method IlvAccessible::changeValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual IlBoolean changeValues (IlvAccessorHolder *object, const IlvValue *values, IlUShort count)
 Called by the method IlvAccessible::changeValues() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual IlUInt compareValues (const IlvAccessorHolder *object, const IlvAccessible *ref, IlvValue *values, IlUShort count, IlvValueArray &diffs) const
 Compares the values in ref and object and returns the differing values. More...
 
virtual IlvValuequeryValue (const IlvAccessorHolder *object, IlvValue &val) const
 Called by the method IlvAccessible::queryValue() for each IlvAccessor attached to the IlvAccessorHolder.
 
virtual void queryValues (const IlvAccessorHolder *object, IlvValue *values, IlUShort count) const
 Called by the method IlvAccessible::queryValues() for each IlvAccessor attached to the IlvAccessorHolder.
 
- Public Member Functions inherited from IlvMultipleAccessor
 IlvMultipleAccessor (const char *name, IlUShort count, const char **names, IlvValueTypeClass **types)
 See below.
 
 IlvMultipleAccessor (const char *name, IlUShort count, const char **names, IlvValueTypeClass ***types)
 Creates a new multiple accessor of name name. More...
 
- Public Member Functions inherited from IlvAccessor
 IlvAccessor (const char *name, IlvValueTypeClass *type)
 Creates a new accessor of name name and type type.
 
const IlSymbolgetName () const
 Returns the name of the accessor. More...
 
IlvValueTypeClassgetType () const
 Returns the type of the accessor. More...
 
virtual IlBoolean isOutputAccessor (IlBoolean &inputAndOutput)
 Queries if the accessor is an output accessor. More...
 
virtual IlBoolean isOutputValue (const IlSymbol *name) const
 Queries if the accessor is an output accessor. More...
 
void setName (const IlSymbol *name)
 Sets the name of the accessor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IlvMultipleAccessor
virtual void getAccessors (const IlSymbol *const **accessors, const IlvValueTypeClass *const **types, IlUInt &count) const
 Returns the names and types of the values handled by this accessor. More...
 
virtual IlShort matchValues (const IlvAccessorHolder *object, const IlvValue *values, IlUShort count, IlvValue *matchingValues=0) const
 Returns the number of values that are handled by the accessor in the values array of length count. More...
 

Detailed Description

Combines the features of IlvGroupAccessor and IlvMultipleAccessor.

Library: ilvproto

This accessor dispatches values to all the group nodes, and handles multiple values simultaneously. This class of accessors is usually not used directly by applications, but is used internally by subclasses of the IlvGroupNode class.

See also
IlvGroupAccessor, IlvGroupNode, IlvMultipleAccessor.

Constructor & Destructor Documentation

IlvMultipleGroupAccessor::IlvMultipleGroupAccessor ( const char *  name,
IlUShort  count,
const char **  names,
IlvValueTypeClass **  types 
)

Creates a new multiple accessor.

Parameters
nameName of the attribute.
countNumber of names.
namesArray of attribute names handled by the accessor.
typesArray of the types corresponding to each attribute name.

Member Function Documentation

virtual IlUInt IlvMultipleGroupAccessor::compareValues ( const IlvAccessorHolder object,
const IlvAccessible ref,
IlvValue values,
IlUShort  count,
IlvValueArray diffs 
) const
virtual

Compares the values in ref and object and returns the differing values.

Compares the objects object and ref for the values specified by the values array of length count.

The default implementation simply calls the IlvAccessible::compareValues(const IlvAccessible*, IlvValue*, IlUShort, IlvValueArray&) const method, which will query the values for the two objects and compare them one by one. Subclasses may compare values more cleverly by grouping differences: for example, the IlvGroupAccessor subclass detects when all nodes of a group differ homogeneously and reports only one difference for the whole group.

Parameters
objectThe object to compare.
refThe reference to compare to.
valuesThe values to be compared.
countThe number of elements in the array values.
diffsWhere the differences are stored.
Returns
The number of differences found. This is therefore the size of the output array diffs.
See also
IlvAccessible::compareValues().
IlvProtoInstance, IlvPrototype.

Reimplemented from IlvAccessor.


© Copyright 2016, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.