C++ (Qt) FSIterator iterator; OSStatus error = FSOpenIterator(&ref, kFSIterateFlat, &iterator); if (error) return false; ItemCount maxCount = 10; FSSpec FS[10]; while (true) { error = FSGetCatalogInfoBulk( iterator, 10, // ItemCount maximumObjects, &maxCount, // ItemCount * actualObjects, 0, // Boolean * containerChanged, kFSCatInfoNone, // FSCatalogInfoBitmap whichInfo, 0, // FSCatalogInfo * catalogInfos, 0, // FSRef * refs, FS, // FSSpec * specs, 0 // HFSUniStr255 * names ); if (error && error != errFSNoMoreItems) break; Boolean aliasFileFlag, folderFlag; for (int i = 0; i < maxCount; ++i) { OSErr err2 = IsAliasFile(FS + i, &aliasFileFlag, &folderFlag);...
...some obj;...for(const auto& i: obj) cout<<i<<endl;
// в качестве значения можно посетить практически все что угодно Var v1; v1["hello"] = 10; v1["text"] = "eos"; v1["world"] = true; Var v; v["one"] = 10.5; v["two"] = v1; v["bar"] = "message"; cout<< v.ToHummanStyle()<<endl;
Value v1=10;Value v2=10.5f;Value v3=true;
::std::vector<Value> myvec;
myvec.emplace_back(10);myvec.emplace_back(true);
Value val = myvec;
::std::list<Value> mylist;Value val = mylist;
C++ (Qt)bool AcceptData( std::vector <CData> & data ){ for (size_t i = 0; i < data.size(); ++i) { QWidget * w = GetWidget(i); // берем UI элемент int type = GetWidgetType(w); // пошли разборки switch (type) { case edit_Text: switch (data[i].rmp_Type) { case TYPE_SFLOAT: float val = GetFloat(w); if (data[i].rmp_Flag & FLAG_BIT_LIMITED) { // проверка диапазона } // запись в выходную структуру break; } } }}
C++ (Qt)struct CData{ enum { TYPE_UNDEFINED, TYPE_SFLOAT, TYPE_UFLOAT, TYPE_SLONG, TYPE_ULONG, TYPE_BOOLEAN, TYPE_OPTION, TYPE_RGB, TYPE_ARGB, TYPE_CUSTOM }; enum { FLAG_BIT_LIMITED = 31, FLAG_BIT_ANIMATE = 30 }; unsigned char rmp_Name[32]; long rmp_Flag; unsigned long rmp_Type; union { struct { double rmp_Value; double rmp_Minimum; double rmp_Maximum; } valReal; struct { long rmp_Value; long rmp_Minimum; long rmp_Maximum; } valLong; struct { long rmp_Value; } valBool; struct { long rmp_Value; short rmp_ResourceID; } valOption; struct { unsigned short rmp_Red; unsigned short rmp_Green; unsigned short rmp_Blue; unsigned short rmp_Alpha; } valColor; } channelData; CustomData rmp_CustomData;};
switch (data[i].rmp_Type) { case TYPE_SFLOAT: float val = GetFloat(w); if (data[i].rmp_Flag & FLAG_BIT_LIMITED) { // проверка диапазона }
switch (data[i].rmp_Type) { case TYPE_SFLOAT: float val = GetFloat(w); if (TYPE_SFLOAT & FLAG_BIT_LIMITED) { // проверка диапазона }
TYPE_SFLOAT & FLAG_BIT_LIMITED
int i = 10; //<---- не умеет итераторыValue v = i; //<--- Value считает, что ему подсунули "не_контейнер"...Some obj; //<---- не умеет итераторыv = obj; //<--- Value считает, что ему подсунули "не_контейнер"