PDI 1.2.2

Data exchange made easy

PDI::Datatype::Accessor_base Struct Referenceabstract

Base class for datatype accesssors, that allow to get pointer to subtype. More...

Inheritance diagram for PDI::Datatype::Accessor_base:
PDI::Array_datatype::Index_accessor PDI::Array_datatype::Slice_accessor

Public Member Functions

virtual std::pair< void *, Datatype_uptraccess (const Array_datatype &type, void *from, std::vector< std::unique_ptr< Accessor_base >>::const_iterator remaining_begin, std::vector< std::unique_ptr< Accessor_base >>::const_iterator remaining_end) const
 Access function for array datatype. More...
 
virtual std::pair< void *, Datatype_uptraccess (const Pointer_datatype &type, void *from, std::vector< std::unique_ptr< Accessor_base >>::const_iterator remaining_begin, std::vector< std::unique_ptr< Accessor_base >>::const_iterator remaining_end) const
 Access function for pointer datatype. More...
 
virtual std::pair< void *, Datatype_uptraccess (const Record_datatype &type, void *from, std::vector< std::unique_ptr< Accessor_base >>::const_iterator remaining_begin, std::vector< std::unique_ptr< Accessor_base >>::const_iterator remaining_end) const
 Access function for record datatype. More...
 
virtual std::string access_kind () const =0
 Returns access kind as string. More...
 
virtual std::unique_ptr< Accessor_baseclone () const =0
 Creates and returns clone of accessor. More...
 
virtual ~Accessor_base ()=default
 Destroys the accessor. More...
 

Detailed Description

Base class for datatype accesssors, that allow to get pointer to subtype.

Constructor & Destructor Documentation

◆ ~Accessor_base()

virtual PDI::Datatype::Accessor_base::~Accessor_base ( )
virtualdefault

Destroys the accessor.

Member Function Documentation

◆ access() [1/3]

virtual std::pair<void*, Datatype_uptr> PDI::Datatype::Accessor_base::access ( const Array_datatype type,
void *  from,
std::vector< std::unique_ptr< Accessor_base >>::const_iterator  remaining_begin,
std::vector< std::unique_ptr< Accessor_base >>::const_iterator  remaining_end 
) const
virtual

Access function for array datatype.

Parameters
typea datatype to get access
frompointer to data of type datatype
remaining_beginiterator to the beginning of remaining accessors
remaining_enditerator to the end of remaining accessors
Returns
string that inform what access is made

Reimplemented in PDI::Array_datatype::Slice_accessor, and PDI::Array_datatype::Index_accessor.

◆ access() [2/3]

virtual std::pair<void*, Datatype_uptr> PDI::Datatype::Accessor_base::access ( const Pointer_datatype type,
void *  from,
std::vector< std::unique_ptr< Accessor_base >>::const_iterator  remaining_begin,
std::vector< std::unique_ptr< Accessor_base >>::const_iterator  remaining_end 
) const
virtual

Access function for pointer datatype.

Parameters
typea datatype to get access
frompointer to data of type datatype
remaining_beginiterator to the beginning of remaining accessors
remaining_enditerator to the end of remaining accessors
Returns
string that inform what access is made

◆ access() [3/3]

virtual std::pair<void*, Datatype_uptr> PDI::Datatype::Accessor_base::access ( const Record_datatype type,
void *  from,
std::vector< std::unique_ptr< Accessor_base >>::const_iterator  remaining_begin,
std::vector< std::unique_ptr< Accessor_base >>::const_iterator  remaining_end 
) const
virtual

Access function for record datatype.

Parameters
typea datatype to get access
frompointer to data of type datatype
remaining_beginiterator to the beginning of remaining accessors
remaining_enditerator to the end of remaining accessors
Returns
string that inform what access is made

◆ access_kind()

virtual std::string PDI::Datatype::Accessor_base::access_kind ( ) const
pure virtual

Returns access kind as string.

Returns
string that inform what access is made

◆ clone()

virtual std::unique_ptr<Accessor_base> PDI::Datatype::Accessor_base::clone ( ) const
pure virtual

Creates and returns clone of accessor.

Returns
clone of accessor

Implemented in PDI::Array_datatype::Slice_accessor, and PDI::Array_datatype::Index_accessor.


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