|
Gaudi Framework, version v22r1 |
| Home | Generated: Mon Feb 28 2011 |
Base class used to extend a class implementing other interfaces. More...
#include <extends.h>


Public Types | |
| typedef extends2 | base_class |
| Typedef to this class. | |
| typedef extend_interfaces2< I1, I2 > | extend_interfaces_base |
| Typedef to the base of this class. | |
| typedef extend_interfaces_base::ext_iids | interfaces |
| MPL set of all the implemented interfaces. | |
Public Member Functions | |
| template<typename A1 , typename A2 , typename A3 > | |
| extends2 (A1 a1, A2 a2, A3 a3) | |
| Templated constructor with 3 arguments. | |
| template<typename A1 , typename A2 > | |
| extends2 (A1 a1, A2 a2) | |
| Templated constructor with 2 arguments. | |
| template<typename A1 > | |
| extends2 (A1 a1) | |
| Templated constructor with 1 argument. | |
| extends2 () | |
| Default constructor. | |
| virtual void * | i_cast (const std::type_info &tid) const |
| Implementation of IInterface::i_cast. | |
| virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp) |
| Implementation of IInterface::queryInterface. | |
| virtual std::vector< std::string > | getInterfaceNames () const |
| Implementation of IInterface::getInterfaceNames. | |
| virtual | ~extends2 () |
| Virtual destructor. | |
Base class used to extend a class implementing other interfaces.
Version for two interfaces.
Definition at line 75 of file extends.h.
| typedef extends2 extends2< BASE, I1, I2 >::base_class |
| typedef extend_interfaces2<I1,I2> extends2< BASE, I1, I2 >::extend_interfaces_base |
Typedef to the base of this class.
Reimplemented in extends1< DataSvc, IIncidentListener >, extends1< ConversionSvc, IPoolDbMgr >, extends1< DataSvc, IHistogramSvc >, extends1< DataSvc, IAIDATupleSvc >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
| typedef extend_interfaces_base::ext_iids extends2< BASE, I1, I2 >::interfaces |
MPL set of all the implemented interfaces.
Reimplemented in extends1< DataSvc, IIncidentListener >, extends1< ConversionSvc, IPoolDbMgr >, extends1< DataSvc, IHistogramSvc >, extends1< DataSvc, IAIDATupleSvc >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
| extends2< BASE, I1, I2 >::extends2 | ( | A1 | a1, |
| A2 | a2, | ||
| A3 | a3 | ||
| ) | [inline] |
Templated constructor with 3 arguments.
Reimplemented in extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 86 of file extends.h.
: BASE(a1,a2,a3){}
| extends2< BASE, I1, I2 >::extends2 | ( | A1 | a1, |
| A2 | a2 | ||
| ) | [inline] |
Templated constructor with 2 arguments.
Reimplemented in extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 88 of file extends.h.
: BASE(a1, a2){}
| extends2< BASE, I1, I2 >::extends2 | ( | A1 | a1 ) | [inline] |
Templated constructor with 1 argument.
Reimplemented in extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 90 of file extends.h.
: BASE(a1){}
Default constructor.
Reimplemented in extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 92 of file extends.h.
: BASE(){}
| virtual extends2< BASE, I1, I2 >::~extends2 | ( | ) | [inline, virtual] |
Virtual destructor.
Reimplemented in extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 133 of file extends.h.
{}
| virtual std::vector<std::string> extends2< BASE, I1, I2 >::getInterfaceNames | ( | ) | const [inline, virtual] |
Implementation of IInterface::getInterfaceNames.
Reimplemented in extends1< DataSvc, IIncidentListener >, extends1< ConversionSvc, IPoolDbMgr >, extends1< DataSvc, IHistogramSvc >, extends1< DataSvc, IAIDATupleSvc >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 123 of file extends.h.
{
std::vector<std::string> v = BASE::getInterfaceNames(); // start from the base
#ifndef __GCCXML__
AppendInterfaceName appender(v);
mpl::for_each<interfaces>(appender);
#endif
return v;
}
| virtual void* extends2< BASE, I1, I2 >::i_cast | ( | const std::type_info & | tid ) | const [inline, virtual] |
Implementation of IInterface::i_cast.
Reimplemented in extends1< DataSvc, IIncidentListener >, extends1< ConversionSvc, IPoolDbMgr >, extends1< DataSvc, IHistogramSvc >, extends1< DataSvc, IAIDATupleSvc >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 95 of file extends.h.
{
void *ptr = 0;
#ifndef __GCCXML__
check_cast<base_class> caster(this,tid,ptr);
mpl::for_each<interfaces>(caster);
#endif
if (!ptr) {
ptr = BASE::i_cast(tid);
}
return ptr;
}
| virtual StatusCode extends2< BASE, I1, I2 >::queryInterface | ( | const InterfaceID & | ti, |
| void ** | pp | ||
| ) | [inline, virtual] |
Implementation of IInterface::queryInterface.
Reimplemented in extends1< DataSvc, IIncidentListener >, extends1< ConversionSvc, IPoolDbMgr >, extends1< DataSvc, IHistogramSvc >, extends1< DataSvc, IAIDATupleSvc >, extends2< DataSvc, IDetDataSvc, IIncidentListener >, and extends2< DataSvc, INTupleSvc, IDataSourceMgr >.
Definition at line 108 of file extends.h.
{
if (!pp) return StatusCode::FAILURE;
*pp = 0;
#ifndef __GCCXML__
interfaceMatch<base_class> matcher(this,ti,*pp);
mpl::for_each<interfaces>(matcher);
if (!*pp) { // cast failed, try the base class
return BASE::queryInterface(ti,pp);
}
this->addRef();
#endif
return StatusCode::SUCCESS;
}