18 #if !defined(XOBJECTFACTORYDEFAULT_HEADER_GUARD_1357924680)
19 #define XOBJECTFACTORYDEFAULT_HEADER_GUARD_1357924680
65 eDefaultXStringBlockSize = 10,
66 eDefaultXNumberBlockSize = 10,
67 eDefaultXNodeSetBlockSize = 10,
68 eDefaultXNodeSetNodeProxyBlockSize = 5,
69 eXNumberCacheMax = 40,
70 eXNodeSetCacheMax = 40,
71 eXStringCacheMax = 40,
72 eXResultTreeFragCacheMax = 40
87 size_type theXStringBlockSize = eDefaultXStringBlockSize,
88 size_type theXNumberBlockSize = eDefaultXNumberBlockSize,
89 size_type theXNodeSetBlockSize = eDefaultXNodeSetBlockSize,
90 size_type theXNodeSetNodeProxyBlockSize = eDefaultXNodeSetNodeProxyBlockSize);
94 MemoryManager& theManager,
95 size_type theXStringBlockSize = eDefaultXStringBlockSize,
96 size_type theXNumberBlockSize = eDefaultXNumberBlockSize,
97 size_type theXNodeSetBlockSize = eDefaultXNodeSetBlockSize,
98 size_type theXNodeSetNodeProxyBlockSize = eDefaultXNodeSetNodeProxyBlockSize);
107 return m_xobjects.getMemoryManager();
137 const XalanDOMChar* theValue,
138 XalanSize_t theLength);
170 bool fInReset =
false);
#define XALAN_XPATH_EXPORT
#define XALAN_DEFAULT_MEMMGR
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
ArenaAllocatorType::size_type size_type
This class handles the creation of XObjects and manages their lifetime.
XNodeSetAllocator::size_type size_type
virtual const XObjectPtr createBoolean(bool theValue)
Create a boolean XObject from a boolean value.
XalanVector< XString * > XStringCacheType
MemoryManager & getMemoryManager()
virtual const XObjectPtr createString(const XalanDOMChar *theValue, XalanSize_t theLength)
Create a string XObject from an array of characters.
virtual const XObjectPtr createNodeSet(BorrowReturnMutableNodeRefList &theValue)
Create a node set XObject from a node list.
virtual ~XObjectFactoryDefault()
virtual const XObjectPtr createString(GetCachedString &theValue)
Create a string XObject from a cached XalanDOMString,.
XalanVector< XObject * > XObjectCollectionType
virtual void reset()
Reset the instance.
virtual const XObjectPtr createNumber(const XToken &theValue)
Create a numeric XObject from an XToken.
virtual const XObjectPtr createStringAdapter(const XObjectPtr &theValue, XPathExecutionContext &theExecutionContext)
Create a string XObject that will adapt another XObject to behave like a string.
static XObjectFactoryDefault * create(MemoryManager &theManager, size_type theXStringBlockSize=eDefaultXStringBlockSize, size_type theXNumberBlockSize=eDefaultXNumberBlockSize, size_type theXNodeSetBlockSize=eDefaultXNodeSetBlockSize, size_type theXNodeSetNodeProxyBlockSize=eDefaultXNodeSetNodeProxyBlockSize)
XalanVector< XNodeSet * > XNodeSetCacheType
virtual const XObjectPtr createStringReference(const XalanDOMString &theValue)
Create a string XObject from a string.
virtual const XObjectPtr createNodeSet(XalanNode *theValue)
Create a node set XObject from a node.
XalanVector< XNumber * > XNumberCacheType
virtual void holdReference(XObjectPtr theValue)
Hold a reference to an XObject instance until the factory is reset.
virtual const XObjectPtr createUnknown(const XalanDOMString &theValue)
Create an "unknown" XObject from a string.
virtual const XObjectPtr createString(const XToken &theValue)
Create a string XObject from an XToken.
virtual const XObjectPtr createNumber(double theValue)
Create a numeric XObject from a number.
virtual const XObjectPtr createString(const XalanDOMChar *theValue)
Create a string XObject from a null-terminated array of characters.
virtual const XObjectPtr createString(const XalanDOMString &theValue)
Create a string XObject from a string.
XObjectFactoryDefault(MemoryManager &theManager XALAN_DEFAULT_MEMMGR, size_type theXStringBlockSize=eDefaultXStringBlockSize, size_type theXNumberBlockSize=eDefaultXNumberBlockSize, size_type theXNodeSetBlockSize=eDefaultXNodeSetBlockSize, size_type theXNodeSetNodeProxyBlockSize=eDefaultXNodeSetNodeProxyBlockSize)
Construct a factory for creating XObjects.
virtual bool doReturnObject(XObject *theXObject, bool fInReset=false)
Return an XObject to the factory.
This class handles the creation of XObjects and manages their lifetime.
Class to hold XObjectPtr return types.
Class to hold XPath return types.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)