1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#ifndef Fireworks_Core_FWItemAccessorFactory_h
#define Fireworks_Core_FWItemAccessorFactory_h
// -*- C++ -*-
//
// Package: Core
// Class : FWItemAccessorFactory
//
/**\class FWItemAccessorFactory FWItemAccessorFactory.h Fireworks/Core/interface/FWItemAccessorFactory.h
Description: Factory for constructing FWItemAccessorBases appropriate to a certain type
Usage:
<usage>
*/
//
// Original Author: Chris Jones
// Created: Sat Oct 18 14:47:03 EDT 2008
//
// system include files
#include <memory>
#include <string>
// user include files
// forward declarations
class FWItemAccessorBase;
class TClass;
class FWItemAccessorFactory {
public:
FWItemAccessorFactory();
virtual ~FWItemAccessorFactory();
// ---------- const member functions ---------------------
std::shared_ptr<FWItemAccessorBase> accessorFor(const TClass *) const;
static bool hasAccessor(const TClass *iClass, std::string &result);
static bool hasTVirtualCollectionProxy(const TClass *iClass);
static bool hasMemberTVirtualCollectionProxy(const TClass *iClass, TClass *&oMember, size_t &oOffset);
static bool classAccessedAsCollection(const TClass *);
// ---------- static member functions --------------------
// ---------- member functions ---------------------------
FWItemAccessorFactory(const FWItemAccessorFactory &) = delete; // stop default
const FWItemAccessorFactory &operator=(const FWItemAccessorFactory &) = delete; // stop default
// ---------- member data --------------------------------
};
#endif
|