Ariles
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ariles2::ns_namevalue::GenericWriter< t_NameValuePair > Class Template Reference

Detailed Description

template<class t_NameValuePair>
class ariles2::ns_namevalue::GenericWriter< t_NameValuePair >

Configuration writer class.

Definition at line 52 of file writer.h.

#include <writer.h>

Inheritance diagram for ariles2::ns_namevalue::GenericWriter< t_NameValuePair >:
ariles2::write::Visitor ariles2::serialization::NodeStackBase< serialization::Node< std::string > > ariles2::write::VisitorBase< Visitor, Parameters > ariles2::visitor::Base< t_Derived, t_Parameters, t_ReturnType > ariles2::visitor::Visitor

Public Types

using ReturnType = t_ReturnType
 
using Parameters = t_Parameters
 

Public Member Functions

 GenericWriter (const std::size_t reserve=0)
 
 GenericWriter (std::vector< t_NameValuePair > *name_value_pairs, const std::size_t reserve=0)
 
void flush ()
 Flush the configuration to the output. More...
 
void reset (const bool initialize_structure=true)
 
virtual void startMap (const Parameters &, const std::size_t num_entries)
 Starts a nested map in the configuration file. More...
 
virtual void startMapEntry (const std::string &map_name)
 Starts a nested map in the configuration file. More...
 
virtual void endMapEntry ()
 
virtual void endMap ()
 Ends a nested map in the configuration file. More...
 
virtual bool startIteratedMap (const std::size_t, const Parameters &)
 
virtual void startArray (const std::size_t size, const bool=false)
 
virtual void endArrayElement ()
 
virtual void endArray ()
 
 CPPUT_MACRO_SUBSTITUTE (ARILES2_BASIC_NUMERIC_TYPES_LIST) void writeElement(const std
 
template<class t_Entry >
void startMap (t_Entry &entry, const Parameters &parameters)
 
virtual void startRoot (const std::string &name, const Parameters &)
 
virtual void endRoot (const std::string &name)
 
virtual void startIteratedMapElement (const std::string &map_name)
 
virtual void endIteratedMapElement ()
 
virtual void endIteratedMap ()
 
virtual void startArrayElement ()
 
virtual void startVector (const std::size_t size)
 
virtual void startVectorElement ()
 
virtual void endVectorElement ()
 
virtual void endVector ()
 
virtual void startMatrix (const bool dynamic, const std::size_t cols, const std::size_t rows, const Parameters &param)
 
virtual void startMatrixRow (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)
 
void startPointer (const bool is_null, const Parameters &param)
 
void endPointer (const bool is_null)
 
void writeElement (const std::complex< t_Scalar > &entry, const Parameters &param)
 
virtual void writeElement (const std::complex< float > &entry, const Parameters &param)
 
virtual void writeElement (const std::complex< double > &entry, const Parameters &param)
 
ARILES2_BASIC_TYPES_LIST void visit (const t_Entry &entry, const std::string &entry_name, const Parameters &param)
 
void visitMapEntry (const t_Entry &entry, const std::string &entry_name, const Parameters &param)
 
void visitArrayElement (const t_Element &element, const Parameters &param)
 
void visitVectorElement (const t_Element &element, const Parameters &param)
 
void visitMatrixElement (const t_Element &element, const Parameters &param)
 
virtual const t_ParametersgetDefaultParameters () const
 
template<class t_Ariles >
const t_ParametersgetParameters (const t_Ariles &ariles_class) const
 
serialization::Node< std::string > & back ()
 
const serialization::Node< std::string > & back () const
 
void emplace (t_Args &&...args)
 
void pop ()
 
void shiftArray ()
 
bool empty () const
 
std::string concatWithNode (t_String &&...strings) const
 
void concatWithNodeAndEmplace (t_String &&...strings)
 

Public Attributes

std::vector< t_NameValuePair > * name_value_pairs_
 
std::size_t index_
 
std::vector< serialization::Node< std::string > > node_stack_
 

Protected Member Functions

void expand ()
 
void expandReserve (const std::size_t size)
 
void clear ()
 

Protected Attributes

std::size_t reserve_
 
std::vector< t_NameValuePair > buffer_name_value_pairs_
 
bool initialize_structure_
 
const std::string separator_ = "."
 
const std::string bracket_left_ = "{"
 
const std::string bracket_right_ = "}"
 

Member Typedef Documentation

◆ 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.

Constructor & Destructor Documentation

◆ GenericWriter() [1/2]

template<class t_NameValuePair >
ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::GenericWriter ( const std::size_t  reserve = 0)
inlineexplicit

Definition at line 94 of file writer.h.

◆ GenericWriter() [2/2]

template<class t_NameValuePair >
ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::GenericWriter ( std::vector< t_NameValuePair > *  name_value_pairs,
const std::size_t  reserve = 0 
)
inlineexplicit

Definition at line 106 of file writer.h.

Member Function Documentation

◆ back() [1/2]

serialization::Node< std::string > & ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::back ( )
inlineinherited

Definition at line 131 of file serialization.h.

◆ back() [2/2]

const serialization::Node< std::string > & ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::back ( ) const
inlineinherited

Definition at line 136 of file serialization.h.

◆ clear()

template<class t_NameValuePair >
void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::clear ( )
inlineprotected

Definition at line 87 of file writer.h.

◆ concatWithNode()

std::string ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::concatWithNode ( t_String &&...  strings) const
inlineinherited

Definition at line 170 of file serialization.h.

◆ concatWithNodeAndEmplace()

void ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::concatWithNodeAndEmplace ( t_String &&...  strings)
inlineinherited

Definition at line 176 of file serialization.h.

◆ CPPUT_MACRO_SUBSTITUTE()

template<class t_NameValuePair >
ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::CPPUT_MACRO_SUBSTITUTE ( ARILES2_BASIC_NUMERIC_TYPES_LIST  ) const
inline

Definition at line 241 of file writer.h.

◆ emplace()

void ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::emplace ( t_Args &&...  args)
inlineinherited

Definition at line 147 of file serialization.h.

◆ empty()

bool ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::empty ( ) const
inlineinherited

Definition at line 163 of file serialization.h.

◆ endArray()

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::endArray ( )
inlinevirtual

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 214 of file writer.h.

◆ endArrayElement()

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::endArrayElement ( )
inlinevirtual

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 206 of file writer.h.

◆ endIteratedMap()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endIteratedMap ( )
inlinevirtualinherited

Definition at line 112 of file write.h.

◆ endIteratedMapElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endIteratedMapElement ( )
inlinevirtualinherited

Definition at line 108 of file write.h.

◆ endMap()

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::endMap ( )
inlinevirtual

Ends a nested map in the configuration file.

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 178 of file writer.h.

◆ endMapEntry()

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::endMapEntry ( )
inlinevirtual

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 170 of file writer.h.

◆ endMatrix()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endMatrix ( const bool  dynamic,
const t_Parameters param 
)
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 214 of file write.h.

◆ endMatrixElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endMatrixElement ( )
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 200 of file write.h.

◆ endMatrixRow()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endMatrixRow ( const t_Parameters param)
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 205 of file write.h.

◆ endPointer()

void ariles2::write::VisitorBase< Visitor , Parameters >::endPointer ( const bool  is_null)
inlineinherited

Definition at line 253 of file write.h.

◆ endRoot()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endRoot ( const std::string &  name)
inlinevirtualinherited

◆ endVector()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endVector ( )
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 148 of file write.h.

◆ endVectorElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::endVectorElement ( )
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 143 of file write.h.

◆ expand()

template<class t_NameValuePair >
void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::expand ( )
inlineprotected

Definition at line 73 of file writer.h.

◆ expandReserve()

template<class t_NameValuePair >
void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::expandReserve ( const std::size_t  size)
inlineprotected

Definition at line 81 of file writer.h.

◆ flush()

template<class t_NameValuePair >
void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::flush ( )
inlinevirtual

Flush the configuration to the output.

Implements ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 118 of file writer.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.

◆ pop()

void ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::pop ( )
inlineinherited

Definition at line 152 of file serialization.h.

◆ reset()

template<class t_NameValuePair >
void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::reset ( const bool  initialize_structure = true)
inline

Definition at line 123 of file writer.h.

◆ shiftArray()

void ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::shiftArray ( )
inlineinherited

Definition at line 157 of file serialization.h.

◆ startArray()

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::startArray ( const std::size_t  size,
const bool  = false 
)
inlinevirtual

Implements ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 188 of file writer.h.

◆ startArrayElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startArrayElement ( )
inlinevirtualinherited

◆ startIteratedMap()

template<class t_NameValuePair >
virtual bool ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::startIteratedMap ( const std::size_t  ,
const Parameters  
)
inlinevirtual

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 183 of file writer.h.

◆ startIteratedMapElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startIteratedMapElement ( const std::string &  map_name)
inlinevirtualinherited

Definition at line 104 of file write.h.

◆ startMap() [1/2]

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::startMap ( const Parameters ,
const std::size_t   
)
inlinevirtual

Starts a nested map in the configuration file.

Parameters
[in]paramparameters
[in]num_entriesnumber of child entries

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 135 of file writer.h.

◆ startMap() [2/2]

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

Definition at line 359 of file write.h.

◆ startMapEntry()

template<class t_NameValuePair >
virtual void ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::startMapEntry ( const std::string &  map_name)
inlinevirtual

Starts a nested map in the configuration file.

Parameters
[in]map_namename of the map

Reimplemented from ariles2::write::VisitorBase< Visitor, Parameters >.

Definition at line 143 of file writer.h.

◆ startMatrix()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startMatrix ( const bool  dynamic,
const std::size_t  cols,
const std::size_t  rows,
const t_Parameters param 
)
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 155 of file write.h.

◆ startMatrixElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startMatrixElement ( )
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 195 of file write.h.

◆ startMatrixRow()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startMatrixRow ( const std::size_t  cols,
const t_Parameters param 
)
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 186 of file write.h.

◆ startPointer()

void ariles2::write::VisitorBase< Visitor , Parameters >::startPointer ( const bool  is_null,
const t_Parameters param 
)
inlineinherited

Definition at line 235 of file write.h.

◆ startRoot()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startRoot ( const std::string &  name,
const t_Parameters  
)
inlinevirtualinherited

◆ startVector()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startVector ( const std::size_t  size)
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 133 of file write.h.

◆ startVectorElement()

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::startVectorElement ( )
inlinevirtualinherited

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 138 of file write.h.

◆ visit()

ARILES2_BASIC_TYPES_LIST void ariles2::write::VisitorBase< Visitor , Parameters >::visit ( const t_Entry &  entry,
const std::string &  entry_name,
const t_Parameters param 
)
inlineinherited

Definition at line 292 of file write.h.

◆ visitArrayElement()

void ariles2::write::VisitorBase< Visitor , Parameters >::visitArrayElement ( const t_Element &  element,
const t_Parameters param 
)
inlineinherited

Definition at line 319 of file write.h.

◆ visitMapEntry()

void ariles2::write::VisitorBase< Visitor , Parameters >::visitMapEntry ( const t_Entry &  entry,
const std::string &  entry_name,
const t_Parameters param 
)
inlineinherited

Definition at line 302 of file write.h.

◆ visitMatrixElement()

void ariles2::write::VisitorBase< Visitor , Parameters >::visitMatrixElement ( const t_Element &  element,
const t_Parameters param 
)
inlineinherited

Definition at line 340 of file write.h.

◆ visitVectorElement()

void ariles2::write::VisitorBase< Visitor , Parameters >::visitVectorElement ( const t_Element &  element,
const t_Parameters param 
)
inlineinherited

Definition at line 330 of file write.h.

◆ writeElement() [1/3]

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::writeElement ( const std::complex< double > &  entry,
const t_Parameters param 
)
inlinevirtualinherited

Definition at line 279 of file write.h.

◆ writeElement() [2/3]

virtual void ariles2::write::VisitorBase< Visitor , Parameters >::writeElement ( const std::complex< float > &  entry,
const t_Parameters param 
)
inlinevirtualinherited

Definition at line 275 of file write.h.

◆ writeElement() [3/3]

void ariles2::write::VisitorBase< Visitor , Parameters >::writeElement ( const std::complex< t_Scalar > &  entry,
const t_Parameters param 
)
inlineinherited

Definition at line 264 of file write.h.

Member Data Documentation

◆ bracket_left_

template<class t_NameValuePair >
const std::string ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::bracket_left_ = "{"
protected

Definition at line 63 of file writer.h.

◆ bracket_right_

template<class t_NameValuePair >
const std::string ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::bracket_right_ = "}"
protected

Definition at line 64 of file writer.h.

◆ buffer_name_value_pairs_

template<class t_NameValuePair >
std::vector<t_NameValuePair> ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::buffer_name_value_pairs_
protected

Definition at line 58 of file writer.h.

◆ index_

template<class t_NameValuePair >
std::size_t ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::index_

Definition at line 69 of file writer.h.

◆ initialize_structure_

template<class t_NameValuePair >
bool ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::initialize_structure_
protected

Definition at line 60 of file writer.h.

◆ name_value_pairs_

template<class t_NameValuePair >
std::vector<t_NameValuePair>* ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::name_value_pairs_

Definition at line 68 of file writer.h.

◆ node_stack_

std::vector<serialization::Node< std::string > > ariles2::serialization::NodeStackBase< serialization::Node< std::string > >::node_stack_
inherited

Definition at line 128 of file serialization.h.

◆ reserve_

template<class t_NameValuePair >
std::size_t ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::reserve_
protected

Definition at line 56 of file writer.h.

◆ separator_

template<class t_NameValuePair >
const std::string ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::separator_ = "."
protected

Definition at line 62 of file writer.h.


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