JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
Public Member Functions | Static Public Member Functions
joda::query::FilePosProvider< start > Class Template Reference

#include <FilePosProvider.h>

Inheritance diagram for joda::query::FilePosProvider< start >:
[legend]
Collaboration diagram for joda::query::FilePosProvider< start >:
[legend]

Public Member Functions

 FilePosProvider (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
 
- 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
 

Static Public Member Functions

static std::unique_ptr< IValueProvider_FACTORY (std::vector< std::unique_ptr< IValueProvider >> &&params)
 
- 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)
 

Additional Inherited Members

- 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
 
- Protected Attributes inherited from joda::query::IValueProvider
std::vector< std::unique_ptr< IValueProvider > > params
 

Detailed Description

template<bool start>
class joda::query::FilePosProvider< start >

FILEPOSSTART()/FILEPOSEND() retrieves the file positions from document origins

Constructor & Destructor Documentation

◆ FilePosProvider()

template<bool start>
joda::query::FilePosProvider< start >::FilePosProvider ( std::vector< std::unique_ptr< IValueProvider >> &&  parameters)
inline
Here is the call graph for this function:

Member Function Documentation

◆ _FACTORY()

template<bool start>
static std::unique_ptr<IValueProvider> joda::query::FilePosProvider< start >::_FACTORY ( std::vector< std::unique_ptr< IValueProvider >> &&  params)
inlinestatic
Here is the caller graph for this function:

◆ duplicate()

template<bool start>
std::unique_ptr<IValueProvider> joda::query::FilePosProvider< start >::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()

template<bool start>
RJValue joda::query::FilePosProvider< start >::getAtomValue ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
) const
inlineoverridevirtual

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.

Here is the call graph for this function:

◆ getName()

template<bool start>
std::string joda::query::FilePosProvider< start >::getName ( ) const
inlineoverridevirtual
Returns
The function name

Implements joda::query::IValueProvider.

◆ getReturnType()

template<bool start>
joda::query::IValueType joda::query::FilePosProvider< start >::getReturnType ( ) const
inlineoverridevirtual
Returns
The type returned by the function

Implements joda::query::IValueProvider.

◆ getValue()

template<bool start>
const RJValue* joda::query::FilePosProvider< start >::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<bool start>
bool joda::query::FilePosProvider< start >::isConst ( ) const
inlineoverridevirtual
Returns
True if the Provider is const, false else

Implements joda::query::IValueProvider.


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