本文整理汇总了C++中VectorMap::Add方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorMap::Add方法的具体用法?C++ VectorMap::Add怎么用?C++ VectorMap::Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorMap
的用法示例。
在下文中一共展示了VectorMap::Add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FetchDir
bool DlgCompareDir::FetchDir(String dir, VectorMap<String, FileInfo>& files, VectorMap<String, String>& dirs)
{
FindFile ff;
if(!ff.Search(AppendFileName(dir, "*")))
return false;
do
if(ff.IsFile() && PatternMatchMulti(fm, ff.GetName()))
files.Add(NormalizePathCase(ff.GetName()), FileInfo(ff.GetName(), ff.GetLength(), ff.GetLastWriteTime()));
else if(ff.IsFolder())
dirs.Add(NormalizePathCase(ff.GetName()), ff.GetName());
while(ff.Next());
return true;
}
示例2:
VectorMap<String, Value> Pdb::DataMap(const ArrayCtrl& a)
{
VectorMap<String, Value> r;
for(int i = 0; i < a.GetCount(); i++)
r.Add(a.Get(i, 0), a.Get(i, 1));
return r;
}
示例3: GetClipboardFormatCode
int GetClipboardFormatCode(const char *format_id)
{
GuiLock ___;
int x = (int)(intptr_t)format_id;
if(x >= 0 && x < 65535)
return x;
String fmt = format_id;
if(fmt == "text")
return CF_TEXT;
if(fmt == "wtext")
return CF_UNICODETEXT;
if(fmt == "dib")
return CF_DIB;
if(fmt == "files")
return CF_HDROP;
static StaticMutex m;
Mutex::Lock __(m);
static VectorMap<String, int> format_map;
int f = format_map.Find(format_id);
if(f < 0) {
f = format_map.GetCount();
format_map.Add(format_id,
#ifdef PLATFORM_WINCE
::RegisterClipboardFormat(ToSystemCharset(format_id))
#else
::RegisterClipboardFormat(format_id)
#endif
);
}
return format_map[f];
}
示例4: GetAllFacesSys
Vector<FaceInfo> GetAllFacesSys()
{
VectorMap<String, FaceInfo> list;
sList = &list;
list.Add("STDFONT").name = "STDFONT";
list.Top().info = 0;
#ifdef PLATFORM_WINCE
HDC hdc = CreateDC(NULL, NULL, NULL, NULL);
Win32_ForceFace(hdc, "Tahoma", NULL);
Win32_ForceFace(hdc, "Tahoma", "Tahoma");
Win32_ForceFace(hdc, "Courier New", "Tahoma");
Win32_ForceFace(hdc, "Tahoma", "Tahoma");
Win32_ForceFace(hdc, "Tahoma", "Tahoma");
Win32_ForceFace(hdc, "Tahoma", "Tahoma");
#else
HDC hdc = CreateIC("DISPLAY", NULL, NULL, NULL);
Win32_ForceFace(hdc, "Times New Roman", "Arial");
Win32_ForceFace(hdc, "Arial", "Arial");
Win32_ForceFace(hdc, "Courier New", "Arial");
Win32_ForceFace(hdc, "Symbol", "Arial");
Win32_ForceFace(hdc, "WingDings", "Arial");
Win32_ForceFace(hdc, "Tahoma", "Arial");
#endif
Win32_EnumFace(hdc, NULL);
DeleteDC(hdc);
return list.PickValues();
}
示例5: benchmark_VectorMap
void benchmark_VectorMap(const Vector<T>& key, const Vector<T>& fkey, int count)
{
StopTime();
cout << count << " items\n";
{
int i;
VectorMap<T, int> map;
StopTime();
for(i = 0; i < count; i++)
map.Add(key[i], i);
cout << "Adding done in " << StopTime() << " s\n";
for(int j = 0; j < 2; j++) {
for(i = 0; i < count; i++)
if(map.Get(fkey[i]) != i) {
cout << "ERROR !\n";
abort();
}
cout << "Search done in " << StopTime() << " s\n";
}
for(i = 0; i < count; i++)
map.UnlinkKey(key[i]);
cout << "Unlinking done in " << StopTime() << " s\n";
for(i = 0; i < count; i++)
map.Put(key[i], i);
cout << "Putting done in " << StopTime() << " s\n";
}
}
示例6: prepare
bool InvoiceList::prepare()
{
String sqlStatement = "select r.invoice_id, r.inv_create_date, \
(select sum(ri.item_price) from record_item ri where ri.record_id = r.id) \
from record r \
where r.invoice_id is not null and r.inv_create_date between '"
+ AsString(from) + "' and '" + AsString(to)
+ "' order by r.inv_create_date, r.invoice_id";
SQL.Execute(sqlStatement);
bool found = false;
while (SQL.Fetch()) {
found = true;
VectorMap<int, String> vmap;
vmap.Add(iliInvNum, AsString(SQL[0]));
vmap.Add(iliDate, AsString(SQL[1]));
vmap.Add(iliTotal, fixFuckedLinuxFormating(ConvertMoney().Format(SQL[2])));
inv_list_items.Add(vmap);
}
if (!found) return false;
SQL & Select(SqlSum(ITEM_PRICE.Of(RECORD_ITEM))).From(RECORD_ITEM)
.InnerJoin(RECORD).On(RECORD_ID.Of(RECORD_ITEM) == ID.Of(RECORD))
.Where(NotNull(INVOICE_ID.Of(RECORD)) && (Between(INV_CREATE_DATE.Of(RECORD), from, to)));
if (SQL.Fetch())
summary_price = SQL[0];
invoiceList.Clear();
invoiceList.Header(String("[A0> ") + String(t_("Page")) + String(" $$P"));
StringBuffer buf;
buf.Cat("{{1f4 ");
formatHeader(buf);
buf.Cat(":: ");
formatCompanyData(buf);
buf.Cat(":: ");
formatItems(buf);
buf.Cat("}}");
LOG(~buf);
invoiceList << ~buf;
return true;
}
示例7: DataMap
VectorMap<String, String> DataMap(const ArrayCtrl& data)
{
GuiLock __;
VectorMap<String, String> m;
for(int i = 0; i < data.GetCount(); i++)
m.Add(data.Get(i, 0), data.Get(i, 1));
return m;
}
示例8: Describe
VectorMap<String, SqlColumnInfo> Describe(const SqlVal& table, Sql& cursor)
{
VectorMap<String, SqlColumnInfo> map;
if(cursor * SelectAll().From(table).Where(SqlBool::False()))
for(int i = 0, n = cursor.GetColumns(); i < n; i++)
{
const SqlColumnInfo& sci = cursor.GetColumnInfo(i);
map.Add(sci.name, sci);
}
return map;
}
示例9:
G_obj *Get(G_obj *(*widget)())
{
static VectorMap<uintptr_t, G_obj *> wmap;
G_obj *w = wmap.Get((uintptr_t)widget, NULL);
if(!w) {
w = (*widget)();
if(GTK().gtk_widget_get_parent(w) == NULL)
Setup(w);
wmap.Add((uintptr_t)widget, w);
}
return w;
}
示例10: GetIncludePath
String GetIncludePath(const String& s, const String& filedir)
{
LTIMING("GetIncludePath");
String key;
key << s << "#" << filedir;
int q = sIncludePath.Find(key);
if(q >= 0)
return sIncludePath[q];
LTIMING("GetIncludePath 2");
String p = GetIncludePath0(s, filedir);
sIncludePath.Add(key, p);
LLOG("GetIncludePath " << s << " " << filedir << ": " << p);
return p;
}
示例11: LoadPage
ValueMap Result::LoadPage(const CommitFilter& f) {
SQLR * Select(SqlAll(RESULT),UID,CMT,BRANCH,CLIENT_ID)
.From(
Select(UID.As("FILTER"))
.From(COMMITS)
.Where(f)
.OrderBy(Descending(DT))
.Limit(f.offset, f.limit)
.AsTable("FILTER_TABLE")
)
.InnerJoin(COMMITS).On(SqlId("FILTER")==UID)
.LeftJoin(RESULT).On(CMT_UID == UID)
.LeftJoin(CLIENT).On(ID == CLIENT_ID)
.OrderBy(Descending(DT));
VectorMap<Tuple2<String, int>,ValueMap> rows;
SortedIndex<int> clients;
VectorMap<String, ValueMap> commits;
ValueArray v_clients;
ValueMap v_commits;
ValueMap vm;
while (SQLR.Fetch(vm)){
SetComputedAttributes(vm);
String uid = vm["UID"];
int cid = vm["CLIENT_ID"];
rows.Add(MakeTuple(uid, cid), vm);
clients.FindAdd(cid);
ValueMap& commit = commits.GetAdd(uid);
commit.Set("CMT", vm["CMT"]);
commit.Set("BRANCH", vm["BRANCH"]);
}
ValueMap results;
for(int i = 0; i<commits.GetCount() ; ++i){
v_commits.Add(commits.GetKey(i), commits[i]);
vm.Clear();
for(int j = 0; j < clients.GetCount(); ++j){
if(!IsNull(clients[j]))
vm.Add(clients[j], rows.GetAdd(MakeTuple(commits.GetKey(i), clients[j])));
}
results.Add(commits.GetKey(i), vm);
}
for(int i = (!clients.IsEmpty() && IsNull(clients[0]))?1:0; i < clients.GetCount(); i++)
v_clients.Add(clients[i]);
ValueMap res;
res.Set("RESULTS", results);
res.Set("COMMITS", v_commits);
res.Set("CLIENTS", v_clients);
res.Set("ALLCLIENTS", Client::LoadAll());
return res;
}
示例12: LeftDrag
void MyApp::LeftDrag(Point p, dword keyflags)
{
String bin;
bin.Cat((byte *)&data.color, sizeof(data.color));
bin.Cat(data.text);
VectorMap<String, ClipData> d;
d.Add("MyAppData", bin);
Append(d, data.text);
Size sz(128, 64);
ImageDraw iw(sz);
iw.DrawRect(sz, Black());
iw.Alpha().DrawRect(sz, Black());
iw.Alpha().DrawText(0, 0, data.text, Courier(14), White());
DoDragAndDrop(d, iw);
}
示例13: XAtom
Atom XAtom(const char *name)
{
GuiLock __;
Atom x;
INTERLOCKED {
static VectorMap<String, int> atoms;
int q = atoms.Get(name, Null);
if(IsNull(q)) {
q = XAtomRaw(name);
atoms.Add(name, q);
}
x = q;
}
return x;
}
示例14: OnLanguage
void MainDlg::OnLanguage(Bar& bar )
{
const int* languages = GetAllLanguages();
// We have a tremendous amount of redundancy here... we'll use this as a filter.
// Note that sometimes, the number changes, but it still comes up as 'English'.
// This is perhaps because we don't have any translations for the other languages.
VectorMap< String, int > oldLangs;
for (int i = 0; languages[i] != 0; i++ )
{
String langName = ::GetNativeLangName( languages[ i ] );
if ( oldLangs.Find( langName ) < 0 )
{
bar.Add( langName , THISBACK1( OnChangeLanguage, languages[i] ) );
oldLangs.Add( langName, languages[i] );
}
}
}
示例15: LoadPPConfig
void LoadPPConfig()
{
for(int i = 0; i < sAllMacros.GetCount(); i++)
if(sAllMacros[i].segment_id == 0 && !sAllMacros.IsUnlinked(i))
sAllMacros.Unlink(i);
s_namespace_macro.Clear();
s_namespace_end_macro.Clear();
StringStream ss(sDefs);
int linei = 0;
while(!ss.IsEof()) {
String l = ss.GetLine();
try {
CParser p(l);
if(p.Char('#')) {
if(p.Id("define")) {
CppMacro def;
String id = def.Define(p.GetPtr());
if(id.GetCount()) {
PPMacro m;
m.segment_id = 0;
m.line = linei;
m.macro = def;
sAllMacros.Put(id, m);
if(findarg(TrimBoth(def.body), "}", "};") >= 0)
s_namespace_end_macro.Add(id);
try {
CParser p(def.body);
if(p.Id("namespace") && p.IsId()) {
String n = p.ReadId();
if(p.Char('{') && p.IsEof())
s_namespace_macro.Add(id, n);
}
}
catch(CParser::Error) {}
}
}
}
}
catch(CParser::Error) {}
linei++;
}
}