17 #include "TVirtualCollectionProxy.h"
94 boost::shared_ptr<FWItemAccessorBase>
97 static const bool debug =
false;
106 <<
" uses FWItemTVirtualCollectionProxyAccessor." << std::endl;
107 return boost::shared_ptr<FWItemAccessorBase>(
109 boost::shared_ptr<TVirtualCollectionProxy>(iClass->GetCollectionProxy()->Generate())));
115 <<
" only contains data member " << member->GetName()
116 <<
" which uses FWItemTVirtualCollectionProxyAccessor."
119 return boost::shared_ptr<FWItemAccessorBase>(
121 boost::shared_ptr<TVirtualCollectionProxy>(member->GetCollectionProxy()->Generate()),
137 << accessorName <<
"." << std::endl;
153 iClass->GetCollectionProxy() &&
154 iClass->GetCollectionProxy()->GetValueClass() &&
155 iClass->GetCollectionProxy()->GetValueClass()->IsLoaded();
174 assert(iClass->GetTypeInfo());
176 assert(
bool(dataType));
180 if (members.
size() != 1)
185 assert(
bool(memType));
186 oMember = TClass::GetClass(memType.typeInfo());
187 oOffset = member.offset();
208 const std::vector<edmplugin::PluginInfo> &available
211 for (
size_t i = 0,
e = available.size();
i !=
e; ++
i)
215 if (iClass->GetTypeInfo()->name() ==
type)
IterWithDict< TDataMember > begin() const
static bool classAccessedAsCollection(const TClass *)
virtual ~FWItemAccessorFactory()
unsigned int offset(bool)
static bool hasTVirtualCollectionProxy(const TClass *iClass)
static bool hasMemberTVirtualCollectionProxy(const TClass *iClass, TClass *&oMember, size_t &oOffset)
static bool hasAccessor(const TClass *iClass, std::string &result)
boost::shared_ptr< FWItemAccessorBase > accessorFor(const TClass *) const
T get(const Candidate &c)