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

Detailed Description

Configuration writer class.

Definition at line 51 of file namevalue2.h.

#include <namevalue2.h>

Inheritance diagram for ariles2::ns_namevalue2::Writer:
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

 Writer (const std::shared_ptr< NameValueContainer > &container, const std::size_t reserve=0)
 
virtual void startRoot (const std::string &name, const Parameters &param)
 
void flush ()
 Flush the configuration to the output. More...
 
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 ()
 
template<class t_Entry >
void startMap (t_Entry &entry, const Parameters &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 clear ()
 
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< serialization::Node< std::string > > node_stack_
 

Protected Attributes

bool initialize_names_
 
std::size_t index_
 
std::shared_ptr< NameValueContainername_value_pairs_
 
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

◆ Writer()

ariles2::ns_namevalue2::Writer::Writer ( const std::shared_ptr< NameValueContainer > &  container,
const std::size_t  reserve = 0 
)
explicit

Definition at line 20 of file writer.cpp.

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

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

Definition at line 141 of file serialization.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.

◆ 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()

void ariles2::ns_namevalue2::Writer::endArray ( )
virtual

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

Definition at line 131 of file writer.cpp.

◆ endArrayElement()

void ariles2::ns_namevalue2::Writer::endArrayElement ( )
virtual

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

Definition at line 123 of file writer.cpp.

◆ 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()

void ariles2::ns_namevalue2::Writer::endMap ( )
virtual

Ends a nested map in the configuration file.

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

Definition at line 97 of file writer.cpp.

◆ endMapEntry()

void ariles2::ns_namevalue2::Writer::endMapEntry ( )
virtual

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

Definition at line 89 of file writer.cpp.

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

◆ flush()

void ariles2::ns_namevalue2::Writer::flush ( )
virtual

Flush the configuration to the output.

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

Definition at line 42 of file writer.cpp.

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

◆ shiftArray()

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

Definition at line 157 of file serialization.h.

◆ startArray()

void ariles2::ns_namevalue2::Writer::startArray ( const std::size_t  size,
const bool  = false 
)
virtual

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

Definition at line 107 of file writer.cpp.

◆ startArrayElement()

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

◆ startIteratedMap()

bool ariles2::ns_namevalue2::Writer::startIteratedMap ( const std::size_t  ,
const Parameters  
)
virtual

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

Definition at line 102 of file writer.cpp.

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

void ariles2::ns_namevalue2::Writer::startMap ( const Parameters ,
const std::size_t   
)
virtual

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 54 of file writer.cpp.

◆ 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()

void ariles2::ns_namevalue2::Writer::startMapEntry ( const std::string &  map_name)
virtual

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 62 of file writer.cpp.

◆ 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()

void ariles2::ns_namevalue2::Writer::startRoot ( const std::string &  name,
const Parameters param 
)
virtual

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

Definition at line 28 of file writer.cpp.

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

const std::string ariles2::ns_namevalue2::Writer::bracket_left_ = "{"
protected

Definition at line 60 of file namevalue2.h.

◆ bracket_right_

const std::string ariles2::ns_namevalue2::Writer::bracket_right_ = "}"
protected

Definition at line 61 of file namevalue2.h.

◆ index_

std::size_t ariles2::ns_namevalue2::Writer::index_
protected

Definition at line 56 of file namevalue2.h.

◆ initialize_names_

bool ariles2::ns_namevalue2::Writer::initialize_names_
protected

Definition at line 55 of file namevalue2.h.

◆ name_value_pairs_

std::shared_ptr<NameValueContainer> ariles2::ns_namevalue2::Writer::name_value_pairs_
protected

Definition at line 57 of file namevalue2.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.

◆ separator_

const std::string ariles2::ns_namevalue2::Writer::separator_ = "."
protected

Definition at line 59 of file namevalue2.h.


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