Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-04-2009, 14:41   #1
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
[C++ BOOST] serialization

Ho un problema con un'eccezione "unregistered class":

Nel mio "main" serializzo un LLElementHandler (m_EleHandler):
(registro quì le classi ma ho provato a registrarle ovunque ...)

Codice:
	std::ofstream ofs("archive.txt");
	boost::archive::text_oarchive oa(ofs);

	ar.register_type(static_cast<LLBaseEntity    *>(NULL));
	ar.register_type(static_cast<LLElementHandler*>(NULL));
	ar.register_type(static_cast<LLBaseHandler   *>(NULL));

	oa << m_EleHandler;
Nella classe LLElementHandler ho questo codice per serializzare:

Codice:
	template<class Archive>
	void serialize(Archive & ar, const unsigned int /* file_version */)
	{
		puts("LLElementHandler serialize");
		ar & boost::serialization::base_object<LLBaseHandler>(*this);
	}
In pratica non faccio altro che andare nella classe base dell LLElementHandler che è LLBaseHandler
dove c'è questo codice:

Codice:
	template<class Archive>
	void serialize(Archive & ar, const unsigned int /* file_version */)
	{
		puts("LLBaseHandler serialize");
		ar & m_OwnEntities;
	}
m_OwnEntities è un vector di puntatori a classi LLBaseEntity che devono serializzare solo il membro int "m_State".
Infatti:

Codice:
	template<class Archive>
	void serialize(Archive & ar, const unsigned int /* file_version */)
	{
		puts("LLBaseEntity serialize");
		ar & m_State;
	}
L'output:
Quote:
LLElementHandler serialize
LLBaseHandler serialize
terminate called after throwing an instance of 'boost::archive::archive_exception'
what(): unregistered class
In pratica si blocca al LLBaseEntity.
Questa è l'istruzione che crea problemi: ar & m_OwnEntities;
... perchè ?
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 14:19   #2
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Ho risolto ma adesso ho un altro problema:

Ho splittato le funzioni save e load per capire cosa succede ma non capisco.
In pratica mi salva tutti gli handlers ma mi carica solo il primo.
Se cambio l'ordine degli handlers nella funzione "load" continua a caricarmi solo il primo.

Codice:
		
		template<class Archive>
		void save(Archive & ar, const unsigned int version) const
		{
			puts("LLEngine serialize - save");
			ar & m_EleHandler;
			ar & m_DeviceHandler;
			ar & m_PanelHandler;
			ar & m_UnitHandler;
		}

		template<class Archive>
		void load(Archive & ar, const unsigned int version)
		{
			puts("LLEngine serialize - load");
			ar & m_EleHandler;
			ar & m_DeviceHandler;
			ar & m_PanelHandler;
			ar & m_UnitHandler;
		}
		BOOST_SERIALIZATION_SPLIT_MEMBER()
Nessuno ha esperienza in 'sto cacchio di boost::serialization ?
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Crollo del mercato PC nel 2026: secondo ...
Come dimostrare che gli agenti di IA fan...
Galaxy AI potrebbe creare app funzionant...
Luce solare anche di notte con i satelli...
The Witcher 4 con ambientazioni da urlo ...
007 First Light e Control Resonant avran...
DLSS 4.5 con Dynamic Multi Frame Generat...
Meta acquisisce Moltbook, il social netw...
Red Hat al MWC 2026: attenzione all'IA n...
Amazon espande 'Paga in Contanti': ora d...
Samsung Galaxy S26 Ultra, promosso ma se...
Gemini sempre più integrato in Go...
NVIDIA investe in Thinking Machines Lab:...
NVIDIA prepara NemoClaw, piattaforma ope...
Samsung testa una batteria da 20.000 mAh...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v