Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-05-11 09:02:30

0001 #ifndef PODIO_LINKCOLLECTION_H
0002 #define PODIO_LINKCOLLECTION_H
0003 
0004 #include "podio/detail/LinkCollectionImpl.h"
0005 #include "podio/detail/PreprocessorMacros.h"
0006 
0007 #ifndef PODIO_ENABLE_SIO
0008   #define PODIO_ENABLE_SIO 0
0009 #endif
0010 
0011 /// Main macro for declaring links. Takes care of registering the necessary
0012 /// buffer creation functionality with the CollectionBufferFactory.
0013 #define PODIO_DECLARE_LINK(FromT, ToT)                                                                                 \
0014   const static auto PODIO_PP_CONCAT(REGISTERED_LINK_, __COUNTER__) =                                                   \
0015       podio::detail::registerLinkCollection<FromT, ToT>(podio::detail::linkCollTypeName<FromT, ToT>());
0016 
0017 #if PODIO_ENABLE_SIO && __has_include("podio/detail/LinkSIOBlock.h")
0018   #include <podio/detail/LinkSIOBlock.h>
0019   /// Macro for registering the necessary SIOBlock for a Link with the SIOBlock factory
0020   #define PODIO_DECLARE_LINK_SIO(FromT, ToT)                                                                           \
0021     const static auto PODIO_PP_CONCAT(LINK_SIO_BLOCK_, __COUNTER__) = podio::LinkSIOBlock<FromT, ToT>{};
0022 #endif
0023 
0024 #endif // PODIO_LINKCOLLECTION_H