Ariles
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | 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::write::VisitorBase< Visitor, Parameters > ariles2::serialization::Base< Visitor, Parameters > ariles2::visitor::Base< visitor::GenericVisitor, Parameters > ariles2::visitor::GenericVisitor ariles2::visitor::Visitor

Public Types

typedef Parameters Parameters
 
typedef void ReturnType
 

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 ()
 
 ARILES2_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)
 
const ParametersgetParameters (const t_Ariles &ariles_class) const
 

Static Public Member Functions

static void openFile (std::ofstream &config_ofs, const std::string &file_name)
 open configuration file More...
 

Public Attributes

std::vector< t_NameValuePair > * name_value_pairs_
 
std::size_t index_
 

Protected Types

typedef serialization::Node< std::string > NodeWrapper
 

Protected Member Functions

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

Protected Attributes

std::vector< NodeWrappernode_stack_
 
std::size_t reserve_
 
std::vector< t_NameValuePair > buffer_name_value_pairs_
 
bool initialize_structure_
 

Member Typedef Documentation

◆ NodeWrapper

template<class t_NameValuePair >
typedef serialization::Node<std::string> ariles2::ns_namevalue::GenericWriter< t_NameValuePair >::NodeWrapper
protected

Definition at line 55 of file writer.h.

◆ Parameters

Definition at line 144 of file serialization.h.

◆ ReturnType

Definition at line 53 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

◆ ARILES2_MACRO_SUBSTITUTE()

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

Definition at line 243 of file writer.h.

◆ clear()

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

Definition at line 87 of file writer.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 216 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 207 of file writer.h.

◆ endIteratedMap()

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

Definition at line 133 of file write.h.

◆ endIteratedMapElement()

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

Definition at line 129 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 235 of file write.h.

◆ endMatrixElement()

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

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 221 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 226 of file write.h.

◆ endPointer()

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

Definition at line 274 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 169 of file write.h.

◆ endVectorElement()

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

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 164 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()

const Parameters & ariles2::visitor::Base< visitor::GenericVisitor , Parameters , void >::getDefaultParameters ( ) const
inlineprotectedinherited

Definition at line 59 of file common.h.

◆ getParameters()

const Parameters & ariles2::serialization::Base< Visitor , Parameters >::getParameters ( const t_Ariles &  ariles_class) const
inlineinherited

Definition at line 151 of file serialization.h.

◆ openFile()

static void ariles2::write::VisitorBase< Visitor , Parameters >::openFile ( std::ofstream &  config_ofs,
const std::string &  file_name 
)
inlinestaticinherited

open configuration file

Parameters
[out]config_ofs
[in]file_name

Definition at line 58 of file write.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.

◆ 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 125 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]instance_idinstance id
[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 379 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 176 of file write.h.

◆ startMatrixElement()

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

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 216 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 207 of file write.h.

◆ startPointer()

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

Definition at line 256 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 154 of file write.h.

◆ startVectorElement()

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

Reimplemented in ariles2::ns_octave::Writer.

Definition at line 159 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 313 of file write.h.

◆ visitArrayElement()

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

Definition at line 335 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 323 of file write.h.

◆ visitMatrixElement()

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

Definition at line 356 of file write.h.

◆ visitVectorElement()

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

Definition at line 346 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 300 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 296 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 285 of file write.h.

Member Data Documentation

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

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

Definition at line 59 of file writer.h.

◆ reserve_

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

Definition at line 60 of file writer.h.


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