JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
Public Member Functions | Protected Attributes
joda::query::IsXBoolProvider< T > Class Template Reference

#include <IsXBoolProvider.h>

Inheritance diagram for joda::query::IsXBoolProvider< T >:
[legend]
Collaboration diagram for joda::query::IsXBoolProvider< T >:
[legend]

Public Member Functions

 IsXBoolProvider (std::vector< std::unique_ptr< IValueProvider >> &&parameters)
 
std::unique_ptr< IValueProviderduplicate () const override
 
bool isConst () const override
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
 
const RJValuegetValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override
 
std::string getName () const override
 
joda::query::IValueType getReturnType () const override
 
std::string getName () const
 
std::string getName () const
 
std::string getName () const
 
std::string getName () const
 
std::string getName () const
 
std::string getName () const
 
std::string getName () const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
RJValue getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &) const
 
- Public Member Functions inherited from joda::query::IValueProvider
 IValueProvider (std::vector< std::unique_ptr< IValueProvider >> &&parameters)
 
 IValueProvider ()
 
virtual ~IValueProvider ()=default
 
virtual std::string toString () const
 
virtual bool isString () const
 
virtual bool isNumber () const
 
virtual bool isBool () const
 
virtual bool isObject () const
 
virtual bool isArray () const
 
virtual bool isNull () const
 
virtual bool isAny () const
 
virtual bool isAtom () const
 
virtual std::vector< std::string > getAttributes () const
 
virtual void getAttributes (std::vector< std::string > &vec) const
 
bool equal (IValueProvider *other, const RapidJsonDocument &json) const
 
virtual bool comparable () const
 
virtual bool equalizable () const
 

Protected Attributes

bool cons = false
 
bool consRes = false
 
- Protected Attributes inherited from joda::query::IValueProvider
std::vector< std::unique_ptr< IValueProvider > > params
 

Additional Inherited Members

- Static Public Member Functions inherited from joda::query::IValueProvider
static void replaceConstSubexpressions (std::unique_ptr< IValueProvider > &val)
 
static bool constBoolCheck (std::unique_ptr< IValueProvider > &val)
 
- Protected Member Functions inherited from joda::query::IValueProvider
bool getParamString (std::string &ret, const std::unique_ptr< IValueProvider > &val, const RapidJsonDocument &json) const
 
void checkParamSize (unsigned int expected)
 
void checkMinParamSize (unsigned int expected)
 
void checkParamType (unsigned int i, IValueType expected)
 
void checkOptionalParamType (unsigned int i, IValueType expected)
 
std::vector< std::unique_ptr< IValueProvider > > duplicateParameters () const
 
std::string getParameterStringRepresentation () const
 

Detailed Description

template<joda::query::IValueType T>
class joda::query::IsXBoolProvider< T >

ISARRAY()/ISNUMBER()/... checks if the value is of given type There is one implementation for each IValueType

Special case is IV_ANY, as this will be the EXISTS() function, which only checks if a given value exists at all.

Constructor & Destructor Documentation

◆ IsXBoolProvider()

template<joda::query::IValueType T>
joda::query::IsXBoolProvider< T >::IsXBoolProvider ( std::vector< std::unique_ptr< IValueProvider >> &&  parameters)
inlineexplicit
Here is the call graph for this function:

Member Function Documentation

◆ duplicate()

template<joda::query::IValueType T>
std::unique_ptr<IValueProvider> joda::query::IsXBoolProvider< T >::duplicate ( ) const
inlineoverridevirtual
Returns
a pointer to a duplicate of the IValueProvider

Implements joda::query::IValueProvider.

Here is the call graph for this function:

◆ getAtomValue() [1/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_Null >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [2/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_Bool >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [3/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_Any >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [4/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_Object >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [5/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_Array >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [6/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_Number >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [7/8]

RJValue joda::query::IsXBoolProvider< joda::query::IV_String >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
virtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getAtomValue() [8/8]

template<joda::query::IValueType T>
RJValue joda::query::IsXBoolProvider< T >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
overridevirtual

Gets an atomic value

Attention
isAtom() has to return true. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value containing the result

Implements joda::query::IValueProvider.

◆ getName() [1/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_Null >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [2/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_Bool >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [3/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_Any >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [4/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_Object >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [5/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_Array >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [6/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_Number >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [7/8]

std::string joda::query::IsXBoolProvider< joda::query::IV_String >::getName ( ) const
virtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getName() [8/8]

template<joda::query::IValueType T>
std::string joda::query::IsXBoolProvider< T >::getName ( ) const
overridevirtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getReturnType()

template<joda::query::IValueType T>
joda::query::IValueType joda::query::IsXBoolProvider< T >::getReturnType ( ) const
inlineoverridevirtual
Returns
The type returned by the function

Implements joda::query::IValueProvider.

◆ getValue()

template<joda::query::IValueType T>
const RJValue* joda::query::IsXBoolProvider< T >::getValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
inlineoverridevirtual

Gets an value

Attention
isAtom() has to return false. If not this will result in undefined behavior
Parameters
jsonThe Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values)
allocA MemoryPoolAllocator to create the values with
Returns
a value-pointer containing the result

Implements joda::query::IValueProvider.

Here is the call graph for this function:

◆ isConst()

template<joda::query::IValueType T>
bool joda::query::IsXBoolProvider< T >::isConst ( ) const
inlineoverridevirtual
Returns
True if the Provider is const, false else

Implements joda::query::IValueProvider.

Here is the caller graph for this function:

Field Documentation

◆ cons

template<joda::query::IValueType T>
bool joda::query::IsXBoolProvider< T >::cons = false
protected

◆ consRes

template<joda::query::IValueType T>
bool joda::query::IsXBoolProvider< T >::consRes = false
protected

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