Example #1
0
//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Zen::Engine::Navigation::I_Path::pNodeIterator_type
Path::front()
{
    pNodeIterator_type pIterator(new NodeIterator(m_path), &Path::destroy);

    return pIterator;
}
Example #2
0
CPDFSDK_Widget* CPDFSDK_InterForm::GetSibling(CPDFSDK_Widget* pWidget,
                                              FX_BOOL bNext) const {
  std::unique_ptr<CBA_AnnotIterator> pIterator(new CBA_AnnotIterator(
      pWidget->GetPageView(), CPDF_Annot::Subtype::WIDGET));

  if (bNext)
    return static_cast<CPDFSDK_Widget*>(pIterator->GetNextAnnot(pWidget));

  return static_cast<CPDFSDK_Widget*>(pIterator->GetPrevAnnot(pWidget));
}
bool CObjectDictionarySnapShot::Get()
{
    bool oRetVal(false);

    if (m_pCommunicationModel)
    {
        __int64 value(0);
        BOOL oSuccess(FALSE);
        m_sObjectCount = 0;
        CObjectDictionary* pObjectDictionary(m_pCommunicationModel->GetObjectDictionary());
        CObjectEntryIterator* pIterator(0);
        CObjectEntry* pObjectEntry(0);
        WORD usIndex(0);
        BYTE ucSubIndex(0);
        EAccessType accessType(AT_READ_WRITE);

        //Create object dictionary iterator. This method uses new!!!
        if(pObjectDictionary)
        {
            pIterator = pObjectDictionary->CreateObjectEntryIterator();
            pIterator->First();
            while(!pIterator->IsFinished())
            {
                pObjectEntry = (CObjectEntry*)pIterator->Current();
                if(pObjectEntry)
                {
                    accessType = pObjectEntry->GetAccessType();
                    if((AT_READ_WRITE == accessType) || (AT_READ_WRITE_READ == accessType) || (AT_READ_WRITE_WRITE == accessType))
                    {
                        usIndex = pObjectEntry->GetIndex();
                        if((FIRST_OBJECT_INDEX <= usIndex) && (ODT_DOMAIN != pObjectEntry->GetDataTypeNumber()))
                        {
                            ucSubIndex = pObjectEntry->GetSubIndex();
                            m_pCommunicationModel->GetObject(usIndex, ucSubIndex, &value, 0);
                            m_aObjectDictionary[0][m_sObjectCount] = usIndex;
                            m_aObjectDictionary[1][m_sObjectCount] = ucSubIndex;
                            m_aObjectDictionary[2][m_sObjectCount] = value;
                            m_sObjectCount++;
                        }
                    }
                }
                pIterator->Next();
            }
            //Delete the iterator!!
            delete pIterator;
        }
        if(m_sObjectCount > 0)
        {
            oRetVal = true;
        }
    }
    return oRetVal;
}
Example #4
0
size_t Iterator::GetLengthEx(Environment &env)
{
	if (IsFinitePredictable()) return GetLength();
	Signal &sig = env.GetSignal();
	if (IsInfinite()) {
		SetError_InfiniteNotAllowed(sig);
		return 0;
	}
	size_t len = 0;
	AutoPtr<Iterator> pIterator(Clone());
	Value value;
	for ( ; pIterator->Next(env, value); len++) ;
	return sig.IsSignalled()? 0 : len;
}