Ariles
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ariles2::ns_msgpack::Reader Class Reference

Detailed Description

Configuration reader class.

Definition at line 29 of file reader.h.

#include <reader.h>

Inheritance diagram for ariles2::ns_msgpack::Reader:
ariles2::serialization::PIMPLVisitor< read::Visitor, impl::Reader > ariles2::read::Visitor ariles2::visitor::Base< t_Derived, t_Parameters, t_ReturnType > ariles2::visitor::Visitor

Public Types

enum  SizeLimitEnforcementType {
  SIZE_LIMIT_UNDEFINED = 0 , SIZE_LIMIT_NONE = 1 , SIZE_LIMIT_EQUAL = 2 , SIZE_LIMIT_RANGE = 3 ,
  SIZE_LIMIT_MIN = 4
}
 
using ReturnType = t_ReturnType
 
using Parameters = t_Parameters
 

Public Member Functions

 Reader (const std::string &file_name)
 Constructor. More...
 
 Reader (std::istream &input_stream)
 Constructor. More...
 
void startMap (const SizeLimitEnforcementType limit_type=SIZE_LIMIT_NONE, const std::size_t min=0, const std::size_t max=0)
 
bool startMapEntry (const std::string &child_name)
 startMapEntry to the entry with the given name More...
 
void endMapEntry ()
 endMapEntry from the current entry to its parent. More...
 
std::size_t startArray ()
 
void startArrayElement ()
 
void endArrayElement ()
 
void endArray ()
 
template<class t_Entry >
void startMap (t_Entry &entry, const Parameters &parameters)
 
virtual void endMap ()
 
virtual bool startIteratedMap (const SizeLimitEnforcementType=SIZE_LIMIT_NONE, const std::size_t=0, const std::size_t=0)
 
virtual bool startIteratedMapElement (std::string &)
 
virtual void endIteratedMapElement ()
 
virtual void endIteratedMap ()
 
bool startPointer (const Parameters &param)
 
void endPointer (const bool is_null)
 
virtual std::size_t startVector ()
 
virtual void startVectorElement ()
 
virtual void endVectorElement ()
 
virtual void endVector ()
 
virtual void startMatrix (std::size_t &cols, std::size_t &rows, const bool dynamic, const Parameters &param)
 
virtual void startMatrixRow (const std::size_t row_index, const std::size_t cols, const Parameters &param)
 
virtual void startMatrixElement ()
 
virtual void endMatrixElement ()
 
virtual void endMatrixRow (const Parameters &param)
 
virtual void endMatrix (const bool dynamic, const Parameters &param)
 
template<class t_Scalar >
void readElement (std::complex< t_Scalar > &entry)
 
virtual void readElement (std::complex< float > &entry)
 
virtual void readElement (std::complex< double > &entry)
 
template<class t_Entry , class t_Subtree >
ARILES2_BASIC_TYPES_LIST void visit (t_Entry &entry, const t_Subtree &subtree, const Parameters &param)
 
template<class t_Entry >
bool visitMapEntry (t_Entry &entry, const std::string &name, const Parameters &param, const bool override_missing_entries_locally=false)
 
template<typename t_Element >
void visitArrayElement (t_Element &element, const Parameters &param)
 
template<typename t_Element >
void visitVectorElement (t_Element &element, const Parameters &)
 
template<typename t_Element >
void visitMatrixElement (t_Element &element, const Parameters &)
 
virtual const t_ParametersgetDefaultParameters () const
 
template<class t_Ariles >
const t_ParametersgetParameters (const t_Ariles &ariles_class) const
 

Protected Types

using Impl = impl::Reader
 
using ImplPtr = std::shared_ptr< impl::Reader >
 

Protected Member Functions

bool startRoot (const std::string &name)
 
void endRoot (const std::string &name)
 
void makeImplPtr (t_Args &&...args)
 
void checkSize (const SizeLimitEnforcementType limit_type, const std::size_t size=0, const std::size_t min=0, const std::size_t max=0) const
 
virtual bool startRoot (const std::vector< std::string > &subtree)
 
virtual void endRoot (const std::vector< std::string > &subtree)
 
const std::string & convertSubtreeToString (const std::string &subtree) const
 
std::string convertSubtreeToString (const std::vector< std::string > &subtree) const
 

Protected Attributes

ImplPtr impl_
 

Member Typedef Documentation

◆ Impl

Definition at line 187 of file serialization.h.

◆ ImplPtr

using ariles2::serialization::PIMPLVisitor< read::Visitor , impl::Reader >::ImplPtr = std::shared_ptr<impl::Reader >
protectedinherited

Definition at line 188 of file serialization.h.

◆ Parameters

template<class t_Derived , class t_Parameters , class t_ReturnType = void>
using ariles2::visitor::Base< t_Derived, t_Parameters, t_ReturnType >::Parameters = t_Parameters
inherited

Definition at line 49 of file common.h.

◆ ReturnType

template<class t_Derived , class t_Parameters , class t_ReturnType = void>
using ariles2::visitor::Base< t_Derived, t_Parameters, t_ReturnType >::ReturnType = t_ReturnType
inherited

Definition at line 48 of file common.h.

Member Enumeration Documentation

◆ SizeLimitEnforcementType

Enumerator
SIZE_LIMIT_UNDEFINED 
SIZE_LIMIT_NONE 
SIZE_LIMIT_EQUAL 
SIZE_LIMIT_RANGE 
SIZE_LIMIT_MIN 

Definition at line 36 of file read.h.

Constructor & Destructor Documentation

◆ Reader() [1/2]

ariles2::ns_msgpack::Reader::Reader ( const std::string &  file_name)
explicit

Constructor.

Parameters
[in]file_name

Definition at line 115 of file reader.cpp.

◆ Reader() [2/2]

ariles2::ns_msgpack::Reader::Reader ( std::istream &  input_stream)
explicit

Constructor.

Parameters
[in]input_stream

Definition at line 121 of file reader.cpp.

Member Function Documentation

◆ checkSize()

void ariles2::read::Visitor::checkSize ( const SizeLimitEnforcementType  limit_type,
const std::size_t  size = 0,
const std::size_t  min = 0,
const std::size_t  max = 0 
) const
inlineprotectedinherited

Definition at line 47 of file read.h.

◆ convertSubtreeToString() [1/2]

const std::string& ariles2::read::Visitor::convertSubtreeToString ( const std::string &  subtree) const
inlineprotectedinherited

Definition at line 136 of file read.h.

◆ convertSubtreeToString() [2/2]

std::string ariles2::read::Visitor::convertSubtreeToString ( const std::vector< std::string > &  subtree) const
inlineprotectedinherited

Definition at line 141 of file read.h.

◆ endArray()

void ariles2::ns_msgpack::Reader::endArray ( )
virtual

Implements ariles2::read::Visitor.

Definition at line 192 of file reader.cpp.

◆ endArrayElement()

void ariles2::ns_msgpack::Reader::endArrayElement ( )
virtual

Implements ariles2::read::Visitor.

Definition at line 207 of file reader.cpp.

◆ endIteratedMap()

virtual void ariles2::read::Visitor::endIteratedMap ( )
inlinevirtualinherited

◆ endIteratedMapElement()

virtual void ariles2::read::Visitor::endIteratedMapElement ( )
inlinevirtualinherited

◆ endMap()

virtual void ariles2::read::Visitor::endMap ( )
inlinevirtualinherited

Reimplemented in ariles2::ns_msgpack_compact::Reader.

Definition at line 191 of file read.h.

◆ endMapEntry()

void ariles2::ns_msgpack::Reader::endMapEntry ( )
virtual

endMapEntry from the current entry to its parent.

Implements ariles2::read::Visitor.

Definition at line 175 of file reader.cpp.

◆ endMatrix()

virtual void ariles2::read::Visitor::endMatrix ( const bool  dynamic,
const Parameters param 
)
inlinevirtualinherited

Definition at line 337 of file read.h.

◆ endMatrixElement()

virtual void ariles2::read::Visitor::endMatrixElement ( )
inlinevirtualinherited

Definition at line 325 of file read.h.

◆ endMatrixRow()

virtual void ariles2::read::Visitor::endMatrixRow ( const Parameters param)
inlinevirtualinherited

Definition at line 329 of file read.h.

◆ endPointer()

void ariles2::read::Visitor::endPointer ( const bool  is_null)
inlineinherited

Definition at line 241 of file read.h.

◆ endRoot() [1/2]

void ariles2::ns_msgpack::Reader::endRoot ( const std::string &  name)
protectedvirtual

Reimplemented from ariles2::read::Visitor.

Definition at line 228 of file reader.cpp.

◆ endRoot() [2/2]

virtual void ariles2::read::Visitor::endRoot ( const std::vector< std::string > &  subtree)
inlineprotectedvirtualinherited

Reimplemented in ariles2::ns_msgpack_compact::Reader.

Definition at line 117 of file read.h.

◆ endVector()

virtual void ariles2::read::Visitor::endVector ( )
inlinevirtualinherited

Definition at line 268 of file read.h.

◆ endVectorElement()

virtual void ariles2::read::Visitor::endVectorElement ( )
inlinevirtualinherited

Definition at line 264 of file read.h.

◆ getDefaultParameters()

template<class t_Derived , class t_Parameters , class t_ReturnType = void>
virtual const t_Parameters& ariles2::visitor::Base< t_Derived, t_Parameters, t_ReturnType >::getDefaultParameters ( ) const
inlinevirtualinherited

Definition at line 52 of file common.h.

◆ getParameters()

template<class t_Derived , class t_Parameters , class t_ReturnType = void>
template<class t_Ariles >
const t_Parameters& ariles2::visitor::Base< t_Derived, t_Parameters, t_ReturnType >::getParameters ( const t_Ariles &  ariles_class) const
inlineinherited

Definition at line 60 of file common.h.

◆ makeImplPtr()

void ariles2::serialization::PIMPLVisitor< read::Visitor , impl::Reader >::makeImplPtr ( t_Args &&...  args)
inlineprotectedinherited

Definition at line 202 of file serialization.h.

◆ readElement() [1/3]

virtual void ariles2::read::Visitor::readElement ( std::complex< double > &  entry)
inlinevirtualinherited

Definition at line 375 of file read.h.

◆ readElement() [2/3]

virtual void ariles2::read::Visitor::readElement ( std::complex< float > &  entry)
inlinevirtualinherited

Definition at line 371 of file read.h.

◆ readElement() [3/3]

template<class t_Scalar >
void ariles2::read::Visitor::readElement ( std::complex< t_Scalar > &  entry)
inlineinherited

Definition at line 357 of file read.h.

◆ startArray()

std::size_t ariles2::ns_msgpack::Reader::startArray ( )
virtual

Implements ariles2::read::Visitor.

Definition at line 182 of file reader.cpp.

◆ startArrayElement()

void ariles2::ns_msgpack::Reader::startArrayElement ( )
virtual

Reimplemented from ariles2::read::Visitor.

Definition at line 199 of file reader.cpp.

◆ startIteratedMap()

virtual bool ariles2::read::Visitor::startIteratedMap ( const  SizeLimitEnforcementType = SIZE_LIMIT_NONE,
const std::size_t  = 0,
const std::size_t  = 0 
)
inlinevirtualinherited

◆ startIteratedMapElement()

virtual bool ariles2::read::Visitor::startIteratedMapElement ( std::string &  )
inlinevirtualinherited

◆ startMap() [1/2]

void ariles2::ns_msgpack::Reader::startMap ( const SizeLimitEnforcementType  limit_type = SIZE_LIMIT_NONE,
const std::size_t  min = 0,
const std::size_t  max = 0 
)
virtual

Reimplemented from ariles2::read::Visitor.

Definition at line 127 of file reader.cpp.

◆ startMap() [2/2]

template<class t_Entry >
void ariles2::read::Visitor::startMap ( t_Entry &  entry,
const Parameters parameters 
)
inlineinherited

Definition at line 158 of file read.h.

◆ startMapEntry()

bool ariles2::ns_msgpack::Reader::startMapEntry ( const std::string &  child_name)
virtual

startMapEntry to the entry with the given name

Parameters
[in]child_namechild node name
Returns
true if successful.

Reimplemented from ariles2::read::Visitor.

Definition at line 135 of file reader.cpp.

◆ startMatrix()

virtual void ariles2::read::Visitor::startMatrix ( std::size_t &  cols,
std::size_t &  rows,
const bool  dynamic,
const Parameters param 
)
inlinevirtualinherited

Definition at line 274 of file read.h.

◆ startMatrixElement()

virtual void ariles2::read::Visitor::startMatrixElement ( )
inlinevirtualinherited

Definition at line 321 of file read.h.

◆ startMatrixRow()

virtual void ariles2::read::Visitor::startMatrixRow ( const std::size_t  row_index,
const std::size_t  cols,
const Parameters param 
)
inlinevirtualinherited

Definition at line 311 of file read.h.

◆ startPointer()

bool ariles2::read::Visitor::startPointer ( const Parameters param)
inlineinherited

Definition at line 215 of file read.h.

◆ startRoot() [1/2]

bool ariles2::ns_msgpack::Reader::startRoot ( const std::string &  name)
protectedvirtual

Reimplemented from ariles2::read::Visitor.

Definition at line 214 of file reader.cpp.

◆ startRoot() [2/2]

virtual bool ariles2::read::Visitor::startRoot ( const std::vector< std::string > &  subtree)
inlineprotectedvirtualinherited

Reimplemented in ariles2::ns_msgpack_compact::Reader.

Definition at line 95 of file read.h.

◆ startVector()

virtual std::size_t ariles2::read::Visitor::startVector ( )
inlinevirtualinherited

Definition at line 256 of file read.h.

◆ startVectorElement()

virtual void ariles2::read::Visitor::startVectorElement ( )
inlinevirtualinherited

Definition at line 260 of file read.h.

◆ visit()

template<class t_Entry , class t_Subtree >
ARILES2_BASIC_TYPES_LIST void ariles2::read::Visitor::visit ( t_Entry &  entry,
const t_Subtree &  subtree,
const Parameters param 
)
inlineinherited

Definition at line 389 of file read.h.

◆ visitArrayElement()

template<typename t_Element >
void ariles2::read::Visitor::visitArrayElement ( t_Element &  element,
const Parameters param 
)
inlineinherited

Definition at line 456 of file read.h.

◆ visitMapEntry()

template<class t_Entry >
bool ariles2::read::Visitor::visitMapEntry ( t_Entry &  entry,
const std::string &  name,
const Parameters param,
const bool  override_missing_entries_locally = false 
)
inlineinherited

Definition at line 420 of file read.h.

◆ visitMatrixElement()

template<typename t_Element >
void ariles2::read::Visitor::visitMatrixElement ( t_Element &  element,
const Parameters  
)
inlineinherited

Definition at line 478 of file read.h.

◆ visitVectorElement()

template<typename t_Element >
void ariles2::read::Visitor::visitVectorElement ( t_Element &  element,
const Parameters  
)
inlineinherited

Definition at line 467 of file read.h.

Member Data Documentation

◆ impl_

Definition at line 191 of file serialization.h.


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