1 #ifndef __IArrayNode_h__
2 #define __IArrayNode_h__ 1
40 kAFUnordered = 1 << 0,
46 kAFAlternative = 1 << 2,
56 virtual eArrayForm APICALL GetArrayForm()
const = 0;
63 virtual eNodeType APICALL GetChildNodeType()
const = 0;
73 virtual spINode APICALL GetNodeAtIndex(
sizet index ) = 0;
75 return const_cast< IArrayNode_v1 *
>( this )->GetNodeAtIndex( index );
90 auto node = GetNodeAtIndex( index );
91 if ( node )
return node->ConvertToSimpleNode();
96 auto node = GetNodeAtIndex( index );
97 if ( node )
return node->ConvertToSimpleNode();
113 auto node = GetNodeAtIndex( index );
114 if ( node )
return node->ConvertToStructureNode();
119 auto node = GetNodeAtIndex( index );
120 if ( node )
return node->ConvertToStructureNode();
136 auto node = GetNodeAtIndex( index );
137 if ( node )
return node->ConvertToArrayNode();
142 auto node = GetNodeAtIndex( index );
143 if ( node )
return node->ConvertToArrayNode();
160 virtual void APICALL InsertNodeAtIndex(
const spINode & node,
sizet index ) = 0;
184 virtual spINode APICALL RemoveNodeAtIndex(
sizet index ) = 0;
196 return const_cast< IArrayNode_v1 *
>( this )->GetActualIArrayNode();
209 return const_cast< IArrayNode_v1 *
>( this )->GetIArrayNode_I();
296 #ifdef FRIEND_CLASS_DECLARATION
297 FRIEND_CLASS_DECLARATION();
305 #endif // __IArrayNode_h__