blob: f48d8f80e216107ba22f7b6a58f9b5d8cd6b10f7 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtXmlPatterns module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or (at your option) the GNU General
** Public license version 3 or any later version approved by the KDE Free
** Qt Foundation. The licenses are as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
** https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "qabstractfloatcasters_p.h"
#include "qatomiccasterlocators_p.h"
QT_BEGIN_NAMESPACE
using namespace QPatternist;
#define impl(owner, mather, type) \
AtomicTypeVisitorResult::Ptr owner::visit(const type *, \
const SourceLocationReflection *const) const \
{ \
return AtomicTypeVisitorResult::Ptr(new mather()); \
}
#define implSelf(owner) impl(To##owner##CasterLocator, SelfToSelfCaster, owner##Type)
/* xs:string */
implSelf(String)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, AnyURIType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, Base64BinaryType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, BooleanType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, DateTimeType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, DateType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, DayTimeDurationType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, DecimalType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, DoubleType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, DurationType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, FloatType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, GDayType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, GMonthDayType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, GMonthType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, GYearMonthType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, GYearType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, HexBinaryType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, IntegerType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, NOTATIONType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, QNameType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, SchemaTimeType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, UntypedAtomicType)
impl(ToStringCasterLocator, ToStringCaster<TypeString>, YearMonthDurationType)
/* xs:untypedAtomic */
implSelf(UntypedAtomic)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, AnyURIType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, Base64BinaryType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, BooleanType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, DateTimeType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, DateType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, DayTimeDurationType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, DecimalType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, DoubleType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, DurationType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, FloatType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, GDayType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, GMonthDayType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, GMonthType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, GYearMonthType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, GYearType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, HexBinaryType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, IntegerType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, NOTATIONType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, QNameType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, StringType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, SchemaTimeType)
impl(ToUntypedAtomicCasterLocator, ToUntypedAtomicCaster, YearMonthDurationType)
/* xs:anyURI */
implSelf(AnyURI)
impl(ToAnyURICasterLocator, ToAnyURICaster, StringType)
impl(ToAnyURICasterLocator, ToAnyURICaster, UntypedAtomicType)
/* xs:boolean */
implSelf(Boolean)
impl(ToBooleanCasterLocator, NumericToBooleanCaster, DoubleType)
impl(ToBooleanCasterLocator, NumericToBooleanCaster, FloatType)
impl(ToBooleanCasterLocator, NumericToBooleanCaster, DecimalType)
impl(ToBooleanCasterLocator, NumericToBooleanCaster, IntegerType)
impl(ToBooleanCasterLocator, StringToBooleanCaster, StringType)
impl(ToBooleanCasterLocator, StringToBooleanCaster, UntypedAtomicType)
/* xs:double */
implSelf(Double)
impl(ToDoubleCasterLocator, BooleanToDoubleCaster, BooleanType)
impl(ToDoubleCasterLocator, NumericToDoubleCaster, FloatType)
impl(ToDoubleCasterLocator, NumericToDoubleCaster, DecimalType)
impl(ToDoubleCasterLocator, NumericToDoubleCaster, IntegerType)
impl(ToDoubleCasterLocator, StringToDoubleCaster, StringType)
impl(ToDoubleCasterLocator, StringToDoubleCaster, UntypedAtomicType)
/* xs:float */
implSelf(Float)
impl(ToFloatCasterLocator, BooleanToFloatCaster, BooleanType)
impl(ToFloatCasterLocator, NumericToFloatCaster, DoubleType)
impl(ToFloatCasterLocator, NumericToFloatCaster, DecimalType)
impl(ToFloatCasterLocator, NumericToFloatCaster, IntegerType)
impl(ToFloatCasterLocator, StringToFloatCaster, StringType)
impl(ToFloatCasterLocator, StringToFloatCaster, UntypedAtomicType)
/* xs:decimal */
implSelf(Decimal)
impl(ToDecimalCasterLocator, BooleanToDecimalCaster, BooleanType)
impl(ToDecimalCasterLocator, NumericToDecimalCaster<false>, DoubleType)
impl(ToDecimalCasterLocator, NumericToDecimalCaster<false>, FloatType)
impl(ToDecimalCasterLocator, NumericToDecimalCaster<false>, IntegerType)
impl(ToDecimalCasterLocator, StringToDecimalCaster, StringType)
impl(ToDecimalCasterLocator, StringToDecimalCaster, UntypedAtomicType)
/* xs:integer */
implSelf(Integer)
impl(ToIntegerCasterLocator, BooleanToIntegerCaster, BooleanType)
impl(ToIntegerCasterLocator, NumericToDecimalCaster<true>, DoubleType)
impl(ToIntegerCasterLocator, NumericToDecimalCaster<true>, FloatType)
impl(ToIntegerCasterLocator, NumericToDecimalCaster<true>, DecimalType)
impl(ToIntegerCasterLocator, StringToIntegerCaster, StringType)
impl(ToIntegerCasterLocator, StringToIntegerCaster, UntypedAtomicType)
/* xs:base64binary */
implSelf(Base64Binary)
impl(ToBase64BinaryCasterLocator, HexBinaryToBase64BinaryCaster, HexBinaryType)
impl(ToBase64BinaryCasterLocator, StringToBase64BinaryCaster, StringType)
impl(ToBase64BinaryCasterLocator, StringToBase64BinaryCaster, UntypedAtomicType)
/* xs:hexBinary */
implSelf(HexBinary)
impl(ToHexBinaryCasterLocator, Base64BinaryToHexBinaryCaster, Base64BinaryType)
impl(ToHexBinaryCasterLocator, StringToHexBinaryCaster, StringType)
impl(ToHexBinaryCasterLocator, StringToHexBinaryCaster, UntypedAtomicType)
/* xs:QName */
implSelf(QName)
impl(ToQNameCasterLocator, ToStringCaster<TypeString>, StringType)
/* xs:gYear */
implSelf(GYear)
impl(ToGYearCasterLocator, StringToGYearCaster, StringType)
impl(ToGYearCasterLocator, StringToGYearCaster, UntypedAtomicType)
impl(ToGYearCasterLocator, AbstractDateTimeToGYearCaster, DateType)
impl(ToGYearCasterLocator, AbstractDateTimeToGYearCaster, DateTimeType)
/* xs:gDay */
implSelf(GDay)
impl(ToGDayCasterLocator, StringToGDayCaster, StringType)
impl(ToGDayCasterLocator, StringToGDayCaster, UntypedAtomicType)
impl(ToGDayCasterLocator, AbstractDateTimeToGDayCaster, DateType)
impl(ToGDayCasterLocator, AbstractDateTimeToGDayCaster, DateTimeType)
/* xs:gMonth */
implSelf(GMonth)
impl(ToGMonthCasterLocator, StringToGMonthCaster, StringType)
impl(ToGMonthCasterLocator, StringToGMonthCaster, UntypedAtomicType)
impl(ToGMonthCasterLocator, AbstractDateTimeToGMonthCaster, DateType)
impl(ToGMonthCasterLocator, AbstractDateTimeToGMonthCaster, DateTimeType)
/* xs:gYearMonth */
implSelf(GYearMonth)
impl(ToGYearMonthCasterLocator, StringToGYearMonthCaster, StringType)
impl(ToGYearMonthCasterLocator, StringToGYearMonthCaster, UntypedAtomicType)
impl(ToGYearMonthCasterLocator, AbstractDateTimeToGYearMonthCaster, DateType)
impl(ToGYearMonthCasterLocator, AbstractDateTimeToGYearMonthCaster, DateTimeType)
/* xs:gMonthDay */
implSelf(GMonthDay)
impl(ToGMonthDayCasterLocator, StringToGMonthDayCaster, StringType)
impl(ToGMonthDayCasterLocator, StringToGMonthDayCaster, UntypedAtomicType)
impl(ToGMonthDayCasterLocator, AbstractDateTimeToGMonthDayCaster, DateType)
impl(ToGMonthDayCasterLocator, AbstractDateTimeToGMonthDayCaster, DateTimeType)
/* xs:dateTime */
implSelf(DateTime)
impl(ToDateTimeCasterLocator, StringToDateTimeCaster, StringType)
impl(ToDateTimeCasterLocator, AbstractDateTimeToDateTimeCaster, DateType)
impl(ToDateTimeCasterLocator, StringToDateTimeCaster, UntypedAtomicType)
/* xs:time */
implSelf(SchemaTime)
impl(ToSchemaTimeCasterLocator, StringToTimeCaster, StringType)
impl(ToSchemaTimeCasterLocator, AbstractDateTimeToTimeCaster, DateTimeType)
impl(ToSchemaTimeCasterLocator, StringToTimeCaster, UntypedAtomicType)
/* xs:date */
implSelf(Date)
impl(ToDateCasterLocator, StringToDateCaster, StringType)
impl(ToDateCasterLocator, AbstractDateTimeToDateCaster, DateTimeType)
impl(ToDateCasterLocator, StringToDateCaster, UntypedAtomicType)
/* xs:duration */
implSelf(Duration)
impl(ToDurationCasterLocator, AbstractDurationToDurationCaster, DayTimeDurationType)
impl(ToDurationCasterLocator, AbstractDurationToDurationCaster, YearMonthDurationType)
impl(ToDurationCasterLocator, StringToDurationCaster, StringType)
impl(ToDurationCasterLocator, StringToDurationCaster, UntypedAtomicType)
/* xs:dayTimeDuration */
implSelf(DayTimeDuration)
impl(ToDayTimeDurationCasterLocator, AbstractDurationToDayTimeDurationCaster, DurationType)
impl(ToDayTimeDurationCasterLocator, AbstractDurationToDayTimeDurationCaster, YearMonthDurationType)
impl(ToDayTimeDurationCasterLocator, StringToDayTimeDurationCaster, StringType)
impl(ToDayTimeDurationCasterLocator, StringToDayTimeDurationCaster, UntypedAtomicType)
/* xs:yearMonthDuration */
implSelf(YearMonthDuration)
impl(ToYearMonthDurationCasterLocator, AbstractDurationToYearMonthDurationCaster, DayTimeDurationType)
impl(ToYearMonthDurationCasterLocator, AbstractDurationToYearMonthDurationCaster, DurationType)
impl(ToYearMonthDurationCasterLocator, StringToYearMonthDurationCaster, StringType)
impl(ToYearMonthDurationCasterLocator, StringToYearMonthDurationCaster, UntypedAtomicType)
#undef implSelf
#undef impl
QT_END_NAMESPACE