本文整理汇总了C++中common::ArchiveMemberList::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ ArchiveMemberList::push_back方法的具体用法?C++ ArchiveMemberList::push_back怎么用?C++ ArchiveMemberList::push_back使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common::ArchiveMemberList
的用法示例。
在下文中一共展示了ArchiveMemberList::push_back方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: listMembers
int Blorb::listMembers(Common::ArchiveMemberList &list) const {
for (uint idx = 0; idx < _chunks.size(); ++idx) {
list.push_back(Common::ArchiveMemberList::value_type(new Common::GenericArchiveMember(_chunks[idx]._filename, this)));
}
return (int)_chunks.size();
}
示例2: listMembers
int LangFilter::listMembers(Common::ArchiveMemberList &list) const {
if (!_arc)
return false;
Common::ArchiveMemberList orgList;
Common::String orgName, name;
_arc->listMembers(orgList);
int num = 0;
//Search only files with the right language and create a list with their basenames
for (Common::ArchiveMemberList::const_iterator it = orgList.begin(); it != orgList.end(); it++) {
orgName = (*it)->getName();
if (orgName.hasPrefix(kLanguages1[_lang]) ||orgName.hasPrefix(kLanguages1[kCommon]))
name = Common::String(orgName.c_str() + 3);
else if (orgName.hasPrefix(kLanguages2[_lang]) || orgName.hasPrefix(kLanguages2[kCommon])) {
int i = 0;
while (orgName[i++] != '/') {;}
name = Common::String(orgName.c_str() + i);
//If the file is a subfolder, reject it
if (name.contains('/'))
continue;
} else
continue;
name.toLowercase();
list.push_back(getMember(name));
++num;
}
return num;
}
示例3: listMembers
int XARCArchive::listMembers(Common::ArchiveMemberList &list) const {
int files = 0;
for (Common::ArchiveMemberList::const_iterator it = _members.begin(); it != _members.end(); ++it) {
// Add all the members to the list
list.push_back(*it);
files++;
}
return files;
}
示例4: listMembers
int TlkArchive::listMembers(Common::ArchiveMemberList &list) const {
uint count = 0;
for (; count < _entryCount; ++count) {
const Common::String name = Common::String::format("%08u.AUD", _fileEntries[count * 2 + 0]);
list.push_back(Common::ArchiveMemberList::value_type(new Common::GenericArchiveMember(name, this)));
}
return count;
}
示例5: listMembers
int PackageSet::listMembers(Common::ArchiveMemberList &list) const {
Common::HashMap<Common::String, Common::ArchiveMemberPtr>::const_iterator it = _files.begin();
Common::HashMap<Common::String, Common::ArchiveMemberPtr>::const_iterator end = _files.end();
int count = 0;
for (; it != end; ++it) {
const Common::ArchiveMemberPtr ptr(it->_value);
list.push_back(ptr);
count++;
}
return count;
}
示例6: listMatchingMembers
int XARCArchive::listMatchingMembers(Common::ArchiveMemberList &list, const Common::String &pattern) {
int matches = 0;
for (Common::ArchiveMemberList::iterator it = _members.begin(); it != _members.end(); ++it) {
if ((*it)->getName().matchString(pattern)) {
// This file matches, add it
list.push_back(*it);
matches++;
}
}
return matches;
}
示例7: listMembers
int AndroidAssetArchive::listMembers(Common::ArchiveMemberList &member_list) {
JNIEnv *env = JNI::getEnv();
Common::List<Common::String> dirlist;
dirlist.push_back("");
int count = 0;
while (!dirlist.empty()) {
const Common::String dir = dirlist.back();
dirlist.pop_back();
jstring jpath = env->NewStringUTF(dir.c_str());
jobjectArray jpathlist =
(jobjectArray)env->CallObjectMethod(_am, MID_list, jpath);
if (env->ExceptionCheck()) {
warning("Error while calling AssetManager->list(%s). Ignoring.",
dir.c_str());
env->ExceptionDescribe();
env->ExceptionClear();
// May as well keep going ...
continue;
}
env->DeleteLocalRef(jpath);
for (jsize i = 0; i < env->GetArrayLength(jpathlist); ++i) {
jstring elem = (jstring)env->GetObjectArrayElement(jpathlist, i);
const char *p = env->GetStringUTFChars(elem, 0);
Common::String thispath = dir;
if (!thispath.empty())
thispath += "/";
thispath += p;
// Assume files have a . in them, and directories don't
if (strchr(p, '.')) {
member_list.push_back(getMember(thispath));
++count;
} else {
dirlist.push_back(thispath);
}
env->ReleaseStringUTFChars(elem, p);
env->DeleteLocalRef(elem);
}
env->DeleteLocalRef(jpathlist);
}
return count;
}
示例8: listMembers
int ZipArchive::listMembers(Common::ArchiveMemberList &list) {
int matches = 0;
int err = unzGoToFirstFile(_zipFile);
while (err == UNZ_OK) {
char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
if (unzGetCurrentFileInfo(_zipFile, NULL,
szCurrentFileName, sizeof(szCurrentFileName)-1,
NULL, 0, NULL, 0) == UNZ_OK) {
list.push_back(ArchiveMemberList::value_type(new GenericArchiveMember(szCurrentFileName, this)));
matches++;
}
err = unzGoToNextFile(_zipFile);
}
return matches;
}
示例9: listMembers
int AndroidAssetArchive::listMembers(Common::ArchiveMemberList &member_list) const {
if (_hasCached) {
member_list.insert(member_list.end(), _cachedMembers.begin(), _cachedMembers.end());
return _cachedMembers.size();
}
int count = 0;
AAssetDir *dir = AAssetManager_openDir(_am, "");
const char *file = AAssetDir_getNextFileName(dir);
while (file) {
member_list.push_back(getMember(file));
++count;
file = AAssetDir_getNextFileName(dir);
}
AAssetDir_close(dir);
_cachedMembers = Common::ArchiveMemberList(member_list);
_hasCached = true;
return count;
}
示例10: listMembers
int NSArchive::listMembers(Common::ArchiveMemberList &list) const {
for (uint32 i = 0; i < _numFiles; i++) {
list.push_back(Common::SharedPtr<Common::GenericArchiveMember>(new Common::GenericArchiveMember(_archiveDir[i], this)));
}
return _numFiles;
}
示例11: listMembers
int MsCabinet::listMembers(Common::ArchiveMemberList &list) const {
for (FileMap::const_iterator it = _fileMap.begin(); it != _fileMap.end(); it++)
list.push_back(getMember(it->_key));
return _fileMap.size();
}
示例12: listMembers
int InstallerArchive::listMembers(Common::ArchiveMemberList &list) {
for (FileMap::const_iterator it = _map.begin(); it != _map.end(); it++)
list.push_back(getMember(it->_key));
return _map.size();
}