| JANA2
    C++ framework for multi-threaded data processing | 
| Classes | |
| struct | NoTypeProvided | 
| Public Types | |
| enum class | Status { Empty , Created , Inserted , Excepted } | 
| Public Member Functions | |
| JDatabundle (const JDatabundle &other) | |
| virtual size_t | GetSize () const =0 | 
| virtual void | ClearData ()=0 | 
| Status | GetStatus () const | 
| std::string | GetUniqueName () const | 
| std::string | GetShortName () const | 
| bool | HasShortName () const | 
| std::string | GetTypeName () const | 
| std::type_index | GetTypeIndex () const | 
| JCallGraphRecorder::JDataOrigin | GetInsertOrigin () const | 
| If objects were placed here by JEvent::Insert() this records whether that call was made from a source or factory. | |
| JFactory * | GetFactory () const | 
| void | SetStatus (Status s) | 
| void | SetUniqueName (std::string unique_name) | 
| void | SetShortName (std::string short_name) | 
| void | SetTypeName (std::string type_name) | 
| void | SetTypeIndex (std::type_index index) | 
| void | SetInsertOrigin (JCallGraphRecorder::JDataOrigin origin) | 
| Called automatically by JEvent::Insert() to records whether that call was made by a source or factory. | |
| void | SetFactory (JFactory *fac) | 
| template<typename S > | |
| std::vector< S * > | GetAs () | 
| Generically access the encapsulated data, performing an upcast if necessary. | |
| Protected Attributes | |
| std::shared_ptr< std::unordered_map< std::type_index, std::unique_ptr< JAny > > > | m_upcast_fns | 
| std::vector< S * > JDatabundle::GetAs | ( | ) | 
Generically access the encapsulated data, performing an upcast if necessary.
This is useful for extracting data from all JFactories<T> where T extends a parent class S, such as JObject or TObject, in contexts where T is not known or it would introduce an unwanted coupling. The main application is for building DSTs.
Be aware of the following caveats:
Referenced by JFactory::GetAs().