Qt 4.8
Public Types | Public Functions | Protected Functions | Friends | List of all members
QPatternist::StringType Class Reference

#include <qbuiltinatomictypes_p.h>

Inheritance diagram for QPatternist::StringType:
QPatternist::BuiltinAtomicType QPatternist::AtomicType QPatternist::ItemType QPatternist::AnySimpleType QSharedData QPatternist::AnyType QPatternist::SchemaType QPatternist::SchemaComponent QSharedData QPatternist::DerivedStringType< derivedType >

Public Types

typedef QExplicitlySharedDataPointer< StringTypePtr
 
- Public Types inherited from QPatternist::BuiltinAtomicType
typedef QExplicitlySharedDataPointer< BuiltinAtomicTypePtr
 
- Public Types inherited from QPatternist::AtomicType
typedef QExplicitlySharedDataPointer< AtomicTypePtr
 
- Public Types inherited from QPatternist::ItemType
enum  Category { NodeNameTest = 1, Other = 2 }
 
enum  InstanceOf { ClassLocalNameTest, ClassNamespaceNameTest, ClassQNameTest, ClassOther }
 
typedef QList< ItemType::PtrList
 
typedef QExplicitlySharedDataPointer< ItemTypePtr
 
- Public Types inherited from QPatternist::AnySimpleType
typedef QList< AnySimpleType::PtrList
 
typedef QExplicitlySharedDataPointer< AnySimpleTypePtr
 
- Public Types inherited from QPatternist::AnyType
typedef QExplicitlySharedDataPointer< AnyTypePtr
 
- Public Types inherited from QPatternist::SchemaType
enum  DerivationConstraint { RestrictionConstraint = 1, ExtensionConstraint = 2, ListConstraint = 4, UnionConstraint = 8 }
 
enum  DerivationMethod {
  DerivationRestriction = 1, DerivationExtension = 2, DerivationUnion = 4, DerivationList = 8,
  NoDerivation = 16
}
 
typedef QHash< QXmlName, SchemaType::PtrHash
 
typedef QList< SchemaType::PtrList
 
typedef QExplicitlySharedDataPointer< SchemaTypePtr
 
enum  TypeCategory {
  None = 0, SimpleTypeAtomic, SimpleTypeList, SimpleTypeUnion,
  ComplexType
}
 

Public Functions

virtual AtomicTypeVisitorResult::Ptr accept (const AtomicTypeVisitor::Ptr &visitor, const SourceLocationReflection *const reflection) const
 
virtual AtomicTypeVisitorResult::Ptr accept (const ParameterizedAtomicTypeVisitor::Ptr &visitor, const qint16 op, const SourceLocationReflection *const reflection) const
 
virtual QString displayName (const NamePool::Ptr &np) const
 
virtual QXmlName name (const NamePool::Ptr &np) const
 Returns the name of the type. More...
 
- Public Functions inherited from QPatternist::BuiltinAtomicType
virtual AtomicCasterLocator::Ptr casterLocator () const
 
virtual AtomicComparatorLocator::Ptr comparatorLocator () const
 
virtual bool isAbstract () const
 
virtual AtomicMathematicianLocator::Ptr mathematicianLocator () const
 
virtual SchemaType::Ptr wxsSuperType () const
 
virtual ItemType::Ptr xdtSuperType () const
 
- Public Functions inherited from QPatternist::AtomicType
virtual AtomicTypeVisitorResult::Ptr accept (const QExplicitlySharedDataPointer< AtomicTypeVisitor > &visitor, const SourceLocationReflection *const) const =0
 
virtual ItemType::Ptr atomizedType () const
 
virtual TypeCategory category () const
 
virtual DerivationMethod derivationMethod () const
 
virtual bool isAtomicType () const
 
virtual bool isNodeType () const
 
virtual bool itemMatches (const Item &item) const
 
virtual bool xdtTypeMatches (const ItemType::Ptr &other) const
 
virtual ~AtomicType ()
 
- Public Functions inherited from QPatternist::ItemType
virtual InstanceOf instanceOf () const
 
 ItemType ()
 
virtual Category itemTypeCategory () const
 
bool operator!= (const ItemType &other) const
 
virtual bool operator== (const ItemType &other) const
 
virtual const ItemTypeoperator| (const ItemType &other) const
 
virtual ~ItemType ()
 
- Public Functions inherited from QSharedData
 QSharedData ()
 Constructs a QSharedData object with a reference count of 0. More...
 
 QSharedData (const QSharedData &)
 Constructs a QSharedData object with reference count 0. More...
 
- Public Functions inherited from QPatternist::AnySimpleType
virtual bool isComplexType () const
 
virtual bool isSimpleType () const
 
virtual ~AnySimpleType ()
 
- Public Functions inherited from QPatternist::AnyType
virtual DerivationConstraints derivationConstraints () const
 
virtual bool wxsTypeMatches (const SchemaType::Ptr &other) const
 
virtual ~AnyType ()
 
- Public Functions inherited from QPatternist::SchemaType
virtual bool isDefinedBySchema () const
 
 SchemaType ()
 
virtual ~SchemaType ()
 
- Public Functions inherited from QPatternist::SchemaComponent
 SchemaComponent ()
 
virtual ~SchemaComponent ()
 

Protected Functions

 StringType (const AtomicType::Ptr &parentType, const AtomicCasterLocator::Ptr &casterLoc)
 
- Protected Functions inherited from QPatternist::BuiltinAtomicType
 BuiltinAtomicType (const AtomicType::Ptr &baseType, const AtomicComparatorLocator::Ptr &comp, const AtomicMathematicianLocator::Ptr &mather, const AtomicCasterLocator::Ptr &casterLocator)
 
- Protected Functions inherited from QPatternist::AtomicType
 AtomicType ()
 
- Protected Functions inherited from QPatternist::AnySimpleType
 AnySimpleType ()
 
- Protected Functions inherited from QPatternist::AnyType
 AnyType ()
 This constructor is protected, because this class must be sub-classed. More...
 

Friends

class BuiltinTypes
 

Additional Inherited Members

- Public Variables inherited from QSharedData
QAtomicInt ref
 

Detailed Description

Represents the xs:string type and all derived types of xs:string, such as xs:token.

StringType instances are used for representing all different string types. The purpose of this is that xs:string sub-types must use the class, StringType, in order to use the correct behavior in call dispatch situations. That is, all xs:string sub-types must use the same AtomicComparator as xs:string itself uses, and that is achieved this way.

Author
Frans Englich frans.nosp@m..eng.nosp@m.lich@.nosp@m.noki.nosp@m.a.com

Definition at line 687 of file qbuiltinatomictypes_p.h.

Typedefs

◆ Ptr

Definition at line 690 of file qbuiltinatomictypes_p.h.

Constructors and Destructors

◆ StringType()

xsAnyAtomicType numeric xsDuration xsAnyAtomicType xsAnyAtomicType xsAnyAtomicType xsAnyAtomicType xsAnyAtomicType xsAnyAtomicType xsAnyAtomicType StringType::StringType ( const AtomicType::Ptr parentType,
const AtomicCasterLocator::Ptr casterLoc 
)
protected

Definition at line 130 of file qbuiltinatomictypes.cpp.

132 : BuiltinAtomicType(pType,
135  casterLoc)
136 {
137 }
The QExplicitlySharedDataPointer class represents a pointer to an explicitly shared object...
Definition: qshareddata.h:136
BuiltinAtomicType(const AtomicType::Ptr &baseType, const AtomicComparatorLocator::Ptr &comp, const AtomicMathematicianLocator::Ptr &mather, const AtomicCasterLocator::Ptr &casterLocator)

Functions

◆ accept() [1/2]

virtual AtomicTypeVisitorResult::Ptr QPatternist::StringType::accept ( const AtomicTypeVisitor::Ptr visitor,
const SourceLocationReflection *const  reflection 
) const
virtual

◆ accept() [2/2]

virtual AtomicTypeVisitorResult::Ptr QPatternist::StringType::accept ( const ParameterizedAtomicTypeVisitor::Ptr visitor,
const qint16  op,
const SourceLocationReflection *const  reflection 
) const
virtual

◆ displayName()

virtual QString QPatternist::StringType::displayName ( const NamePool::Ptr np) const
virtual
Returns
the result of SharedQXmlName::displayName(), of the SharedQName object returned from the name() function.

Reimplemented from QPatternist::AtomicType.

Reimplemented in QPatternist::DerivedStringType< derivedType >.

◆ name()

virtual QXmlName QPatternist::StringType::name ( const NamePool::Ptr np) const
virtual

Returns the name of the type.

The reason to why we take the name pool argument, is that the basic types, xs:anySimpleType and so on, are stored globally in BuiltinTypes and ComonSequenceTypes, and therefore cannot be tied to a certain name pool. Type instances that knows they always will be used with a certain name pool, can therefore ignore np and return a QXmlName instance stored as a member.

If the type code was refactored to not be store globally and therefore by design would be tied to a name pool, this argument could be removed.

Reimplemented from QPatternist::AnySimpleType.

Reimplemented in QPatternist::DerivedStringType< derivedType >.

Friends and Related Functions

◆ BuiltinTypes

friend class BuiltinTypes
friend

Definition at line 701 of file qbuiltinatomictypes_p.h.


The documentation for this class was generated from the following files: