what is meaning of below c++ map means ?
-
In below code i am not understanding the concept of the below statement :
sqliteManagerMap.insert(std::pair<int,SqliteManagerBGSync>(threadId,new SqliteManagerBGSync()))*
can any body explain me it theoretically. what this statement do ?
namespace app { namespace dbmanager { std::map<int,SqliteManagerBGSync *> SqliteManagerBGSync::sqliteManagerMap; SqliteManagerBGSync::SqliteManagerBGSync() { DBGF_TRACE("AFCS:SqliteManagerBGSync::Constructor Called"); handle = NULL; } SqliteManagerBGSync* SqliteManagerBGSync::GetDBInstance() { std::map<int,SqliteManagerBGSync*>::iterator it; int threadId = pthread_self(); DBGF_TRACE("AFCS:SqliteManagerBGSync::thread Id :%d",threadId); //sqliteManagerMap.empty() Return 0 If sqliteManagerMap is Not Empty //Return 1 If sqliteManagerMap is Empty DBGF_TRACE("AFCS:SqliteManagerBGSync::GetDBInstance()::sqliteManagerMap.empty()=%d",sqliteManagerMap.empty()); if(sqliteManagerMap.empty()) { DBGF_TRACE("AFCS:SqliteManagerBGSync::GetDBInstance()::sqliteManagerMap.empty() IF"); if(pthread_mutex_init(&databaseLock, NULL) != 0) { DBGF_TRACE("databaseLock mutex init failed"); } else { DBGF_TRACE("databaseLock mutex init Success"); } } it = sqliteManagerMap.find(threadId); if(it == sqliteManagerMap.end()) { DBGF_TRACE("AFCS:SqliteManagerBGSync::GetDBInstance()::threadId Find Success"); sqliteManagerMap.insert(std::pair<int,SqliteManagerBGSync*>(threadId,new SqliteManagerBGSync())); DBGF_TRACE("AFCS:sqliteManagerMap insert called"); it = sqliteManagerMap.find(threadId); } DBGF_TRACE("AFCS:SqliteManagerBGSync::sqliteManagerMap success return 2"); DBGF_TRACE("SqliteManagerBGSync::GetDBInstance _heap_max() = %d",_heap_max()); DBGF_TRACE("SqliteManagerBGSync::GetDBInstance _heap_current() = %d",_heap_current()); return it->second; }
-
In below code i am not understanding the concept of the below statement :
sqliteManagerMap.insert(std::pair<int,SqliteManagerBGSync>(threadId,new SqliteManagerBGSync()))*
can any body explain me it theoretically. what this statement do ?
namespace app { namespace dbmanager { std::map<int,SqliteManagerBGSync *> SqliteManagerBGSync::sqliteManagerMap; SqliteManagerBGSync::SqliteManagerBGSync() { DBGF_TRACE("AFCS:SqliteManagerBGSync::Constructor Called"); handle = NULL; } SqliteManagerBGSync* SqliteManagerBGSync::GetDBInstance() { std::map<int,SqliteManagerBGSync*>::iterator it; int threadId = pthread_self(); DBGF_TRACE("AFCS:SqliteManagerBGSync::thread Id :%d",threadId); //sqliteManagerMap.empty() Return 0 If sqliteManagerMap is Not Empty //Return 1 If sqliteManagerMap is Empty DBGF_TRACE("AFCS:SqliteManagerBGSync::GetDBInstance()::sqliteManagerMap.empty()=%d",sqliteManagerMap.empty()); if(sqliteManagerMap.empty()) { DBGF_TRACE("AFCS:SqliteManagerBGSync::GetDBInstance()::sqliteManagerMap.empty() IF"); if(pthread_mutex_init(&databaseLock, NULL) != 0) { DBGF_TRACE("databaseLock mutex init failed"); } else { DBGF_TRACE("databaseLock mutex init Success"); } } it = sqliteManagerMap.find(threadId); if(it == sqliteManagerMap.end()) { DBGF_TRACE("AFCS:SqliteManagerBGSync::GetDBInstance()::threadId Find Success"); sqliteManagerMap.insert(std::pair<int,SqliteManagerBGSync*>(threadId,new SqliteManagerBGSync())); DBGF_TRACE("AFCS:sqliteManagerMap insert called"); it = sqliteManagerMap.find(threadId); } DBGF_TRACE("AFCS:SqliteManagerBGSync::sqliteManagerMap success return 2"); DBGF_TRACE("SqliteManagerBGSync::GetDBInstance _heap_max() = %d",_heap_max()); DBGF_TRACE("SqliteManagerBGSync::GetDBInstance _heap_current() = %d",_heap_current()); return it->second; }
@Qt-embedded-developer said in what is meaning of below c++ map means ?:
In below code i am not understanding the concept of the below statement :
sqliteManagerMap.insert(std::pair<int,SqliteManagerBGSync>(threadId,new SqliteManagerBGSync()))*
can any body explain me it theoretically. what this statement do ?As described in
std:map
documentation => https://www.cplusplus.com/reference/map/map/insert/
It insert a new item in to map.