This interface is used with an object which contains an ordered set of AAFSegments and produces the value specified by the last AAFSegement in the ordered seta reference to a segment. More...
Public Member Functions | |
HRESULT | AppendSegment ([in] IAAFSegment *pSegment) |
Append another input segment to the list of source segments. | |
HRESULT | PrependSegment ([in] IAAFSegment *pSegment) |
Prepend another input segment to the list of source segments. | |
HRESULT | InsertSegmentAt ([in] aafUInt32 index,[in] IAAFSegment *pSegment) |
Insert an input segment to the list of source segments at the given index. | |
HRESULT | RemoveSegmentAt ([in] aafUInt32 index) |
Removes the indexed segment. | |
HRESULT | CountSegments ([out, retval] aafUInt32 *pResult) |
Returns the number of source segments currently contained. | |
HRESULT | GetSegmentAt ([in] aafUInt32 index,[out, retval] IAAFSegment **ppSegment) |
Retrieves the indexed segment. | |
HRESULT | GetSegments ([out, retval] IEnumAAFSegments **ppEnum) |
Return an enumerator for the ordered list of AAFSegments which make up the nested scope. |
This interface is used with an object which contains an ordered set of AAFSegments and produces the value specified by the last AAFSegement in the ordered seta reference to a segment.
AAFNestedScopes are used to encapsulate intermediate results which may be referenced from more than one place, in a manner much like common subexpressions in mathmatical expressions.
In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:
AAFRESULT_NOMEMORY
Objects that implement IAAFNestedScope also implement the following interfaces:
HRESULT IAAFNestedScope::AppendSegment | ( | [in] IAAFSegment * | pSegment | ) |
Append another input segment to the list of source segments.
The last segment added will be used as the output of the nested scope, and usually contains operations whose inputs are scope references.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pSegment | [in] Pointer to segment to be added |
HRESULT IAAFNestedScope::CountSegments | ( | [out, retval] aafUInt32 * | pResult | ) |
Returns the number of source segments currently contained.
Succeeds if all of the following are true:
If this method fails no value will be written to *pResult.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pResult | [out, retval] number of segments contained |
HRESULT IAAFNestedScope::GetSegmentAt | ( | [in] aafUInt32 | index, |
[out, retval] IAAFSegment ** | ppSegment | ||
) |
Retrieves the indexed segment.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppSegment.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index of segment to retrieve |
ppSegment | [out, retval] retrieved segment |
HRESULT IAAFNestedScope::GetSegments | ( | [out, retval] IEnumAAFSegments ** | ppEnum | ) |
Return an enumerator for the ordered list of AAFSegments which make up the nested scope.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppEnum.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
ppEnum | [out, retval] Slots - segment list enumeration |
HRESULT IAAFNestedScope::InsertSegmentAt | ( | [in] aafUInt32 | index, |
[in] IAAFSegment * | pSegment | ||
) |
Insert an input segment to the list of source segments at the given index.
Segments already existing at the given and higher indices will be moved up one index to accommodate.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index where segment is to be inserted |
pSegment | [in] Pointer to segment to be added |
HRESULT IAAFNestedScope::PrependSegment | ( | [in] IAAFSegment * | pSegment | ) |
Prepend another input segment to the list of source segments.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pSegment | [in] Pointer to segment to be added |
HRESULT IAAFNestedScope::RemoveSegmentAt | ( | [in] aafUInt32 | index | ) |
Removes the indexed segment.
Segments already existing at indices greater than the given index will be moved down by one index to accommodate.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index of segment to be removed |