Articles of boost

Edificio Boost 1.52 con MinGW

Sto cercando di trovare una risposta autorevole su come build Boost 1.52 con MinGW . Ho trovato alcuni suggerimenti su Internet che si riducono per costruirlo in questo modo: cd tools\build\v2\engine build.bat mingw copy bin.ntx86\bjam.exe ..\..\..\.. cd ..\..\..\.. bjam –toolset=gcc Dal momento che quelle istruzioni risalgono fino a Boost 1.45 e dal momento che non […]

C ++ – passaggio di riferimenti a std :: shared_ptr o boost :: shared_ptr

Se ho una funzione che deve funzionare con un shared_ptr , non sarebbe più efficiente passarci un riferimento (in modo da evitare di copiare l’object shared_ptr )? Quali sono i possibili effetti collaterali negativi? Immagino due possibili casi: 1) all’interno della funzione viene fatta una copia dell’argomento, come in ClassA::take_copy_of_sp(boost::shared_ptr &sp) { … m_sp_member=sp; //This […]

Perché nvcc non riesce a compilare un file CUDA con boost :: spirit?

Sto cercando di integrare CUDA in un’applicazione esistente che usa boost :: spirit. Isolare il problema, ho scoperto che il seguente codice non copia con nvcc: main.cu : #include int main(){ exit(0); } Compilando con nvcc -o cudaTest main.cu Ottengo un sacco di errori che possono essere visti qui . Ma se cambio il nome […]

Come conservare oggetti funzionali con diverse firme in un contenitore?

Immaginiamo quindi di avere 2 funzioni (void : ( void ) ) e (std::string : (int, std::string)) e potremmo avere altre 10. Tutti (o alcuni di essi) contengono diversi tipi di argomenti e possono restituire diversi tipi. Vogliamo memorizzarli in una std::map , così otteniamo una API come questa: //Having a functions like: int hello_world(std::string […]

Boost ha un tipo di dati per operazioni di set che è più semplice di STL?

Trovo il metodo C ++ STL di fare semplici operazioni di set abbastanza clunky da usare. Ad esempio, per trovare la differenza tra due serie: std::set newUserIds; set_difference(currentUserIds.begin(), currentUserIds.end(), mPreviousUserIds.begin(), mPreviousUserIds.end(), std::inserter(newUserIds, newUserIds.end())); std::set missingUserIds; set_difference(mPreviousUserIds.begin(), mPreviousUserIds.end(), currentUserIds.begin(), currentUserIds.end(), std::inserter(missingUserIds, missingUserIds.end())); mPreviousUserIds = currentUserIds; Boost offre un insieme alternativo di classi che ridurrebbe l’esempio precedente […]

C ++ Boost: riferimento non definito a boost :: system :: generic_category ()

Sto cercando di includere le librerie Boost nel mio progetto e ho riscontrato problemi nello stesso. Sono su Ubuntu 12.10 con IDE Codeblocks e ho provato ad installare le librerie manualmente leggendo le istruzioni dal sito, ma ho riscontrato errori con l’intestazione e con le librerie create prima dell’uso. Ho quindi installato le librerie tramite […]

Quali sono i vantaggi di boost :: noncopyable

Per evitare di copiare una class, puoi facilmente dichiarare un operatore di copia / assegnazione di copia privata. Ma puoi anche ereditare boost::noncopyable . Quali sono i vantaggi / svantaggi dell’uso di boost in questo caso?

Posso usare una maschera per iterare i file in una directory con Boost?

Voglio scorrere tutti i file in una directory che corrisponde a qualcosa come “somefiles * .txt”. Boost :: filesystem ha qualcosa di costruito per farlo, o ho bisogno di una regex o qualcosa contro ogni leaf ()?

Posso ridefinire una macro C ++ e poi definirla?

Sto usando sia la libreria JUCE che un numero di intestazioni Boost nel mio codice. Juce definisce “T” come una macro (gemito), e Boost spesso usa “T” nelle sue definizioni di template. Il risultato è che se in qualche modo includi le intestazioni JUCE prima delle intestazioni Boost, il preprocessore espande la macro JUCE nel […]

Come posso decodificare la denominazione della libreria boost?

Ho provato a scoprire che gd significa nel nome della libreria boost e ho trovato solo altre due persone che cercavano la stessa cosa. Suppongo che dovrebbe essere un posto dove questo è chiaramente documentato e mi piacerebbe trovarlo. mt – bjam threading=multi con bjam threading=multi s – bjam runtime-link=static g – utilizza le versioni […]