Ariles
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Namespaces | Macros | Functions
basic.h File Reference

Detailed Description

Author
Alexander Sherikov

Definition in file basic.h.

Go to the source code of this file.

#include "../internal/helpers.h"
#include "../visitors/count.h"

Namespaces

 ariles2
 
 ariles2::read
 
 ariles2::write
 
 ariles2::compare
 
 ariles2::defaults
 
 ariles2::process
 
 ariles2::copyfrom
 
 ariles2::copyto
 

Macros

#define ARILES2_BASIC_TYPE(type)
 
#define ARILES2_BASIC_TYPE(type)
 
#define ARILES2_BASIC_TYPE(type)
 
#define ARILES2_COMPARE_TYPES_LIST
 Generate compare methods for basic types. More...
 
#define ARILES2_BASIC_TYPE(type)
 
#define ARILES2_BASIC_TYPE(type)
 
#define ARILES2_BASIC_TYPE(type)
 

Functions

template<class t_Visitor , class t_Entry >
void ariles2::read::apply_read (t_Visitor &visitor, t_Entry &entry, const typename t_Visitor::Parameters &parameters, ARILES2_IS_BASE_ENABLER(ariles2::read::Base, t_Entry))
 
template<class t_Visitor , typename t_Enumeration , typename = std::enable_if_t<std::is_enum<t_Enumeration>::value>>
void ariles2::read::apply_read (t_Visitor &visitor, t_Enumeration &entry, const typename t_Visitor::Parameters &)
 Read configuration entry (an enum) This function is necessary since an explicit casting to integer is needed. More...
 
template<class t_Visitor , class t_Entry >
void ariles2::write::apply_write (t_Visitor &writer, const t_Entry &entry, const typename t_Visitor::Parameters &parameters, ARILES2_IS_BASE_ENABLER(ariles2::write::Base, t_Entry))
 
template<class t_Visitor , typename t_Enumeration , typename = std::enable_if_t<std::is_enum<t_Enumeration>::value>>
void ariles2::write::apply_write (t_Visitor &writer, const t_Enumeration entry, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , class t_Left , class t_Right , typename = ariles2::traits::is_ariles_t<t_Left>>
void ariles2::compare::apply_compare (t_Visitor &visitor, const t_Left &left, const t_Right &right, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , typename t_Enumeration , typename = std::enable_if_t<std::is_enum<t_Enumeration>::value>>
void ariles2::compare::apply_compare (t_Visitor &visitor, const t_Enumeration &left, const t_Enumeration &right, const typename t_Visitor::Parameters &)
 
template<class t_Visitor , class t_Scalar >
ARILES2_COMPARE_TYPES_LIST void ariles2::compare::apply_compare (t_Visitor &visitor, const std::complex< t_Scalar > &left, const std::complex< t_Scalar > &right, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor >
void ariles2::compare::apply_compare (t_Visitor &visitor, const float &left, const float &right, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor >
void ariles2::compare::apply_compare (t_Visitor &visitor, const double &left, const double &right, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , class t_Entry >
void ariles2::defaults::apply_defaults (const t_Visitor &visitor, t_Entry &entry, const typename t_Visitor::Parameters &param, ARILES2_IS_BASE_ENABLER(ariles2::defaults::Base, t_Entry))
 
template<class t_Visitor , typename t_Enumeration , typename = std::enable_if_t<std::is_enum<t_Enumeration>::value>>
void ariles2::defaults::apply_defaults (const t_Visitor &, t_Enumeration &, const typename t_Visitor::Parameters &)
 
template<class t_Visitor , typename t_Scalar >
void ariles2::defaults::apply_defaults (const t_Visitor &, std::complex< t_Scalar > &entry, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , class t_Entry >
void ariles2::process::apply_process (const t_Visitor &visitor, t_Entry &entry, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , class t_Left , class t_Right , typename = ariles2::traits::is_ariles_t<t_Left>>
void ariles2::copyfrom::apply_copyfrom (t_Visitor &visitor, t_Left &left, const t_Right &right, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , typename t_Enumeration , typename = std::enable_if_t<std::is_enum<t_Enumeration>::value>>
ARILES2_BASIC_TYPES_LIST ARILES2_COMPLEX_NUMBER_TYPES_LIST void ariles2::copyfrom::apply_copyfrom (t_Visitor &, t_Enumeration &left, const t_Enumeration &right, const typename t_Visitor::Parameters &)
 
template<class t_Visitor , class t_Left , class t_Right , typename = ariles2::traits::is_ariles_t<t_Left>>
void ariles2::copyto::apply_copyto (t_Visitor &visitor, const t_Left &left, t_Right &right, const typename t_Visitor::Parameters &param)
 
template<class t_Visitor , typename t_Enumeration , typename = std::enable_if_t<std::is_enum<t_Enumeration>::value>>
ARILES2_BASIC_TYPES_LIST ARILES2_COMPLEX_NUMBER_TYPES_LIST void ariles2::copyto::apply_copyto (t_Visitor &, const t_Enumeration &left, t_Enumeration &right, const typename t_Visitor::Parameters &)
 

Macro Definition Documentation

◆ ARILES2_BASIC_TYPE [1/6]

#define ARILES2_BASIC_TYPE (   type)
Value:
template <class t_Visitor> \
void apply_read(t_Visitor &visitor, type &entry, const typename t_Visitor::Parameters &param) \
{ \
CPPUT_TRACE_FUNCTION; \
CPPUT_UNUSED_ARG(param); \
visitor.readElement(entry); \
}
visitor::Parameters Parameters
Definition: count.h:26
void apply_read(t_Visitor &visitor, t_Enumeration &entry, const typename t_Visitor::Parameters &)
Read configuration entry (an enum) This function is necessary since an explicit casting to integer is...
Definition: basic.h:51

Definition at line 367 of file basic.h.

◆ ARILES2_BASIC_TYPE [2/6]

#define ARILES2_BASIC_TYPE (   type)
Value:
template <class t_Visitor> \
void apply_write(t_Visitor &writer, const type &entry, const typename t_Visitor::Parameters &param) \
{ \
CPPUT_TRACE_FUNCTION; \
writer.writeElement(entry, param); \
}
void apply_write(t_Visitor &writer, const t_Enumeration entry, const typename t_Visitor::Parameters &param)
Definition: basic.h:109

Definition at line 367 of file basic.h.

◆ ARILES2_BASIC_TYPE [3/6]

#define ARILES2_BASIC_TYPE (   type)
Value:
template <class t_Visitor> \
inline void apply_compare( \
t_Visitor &visitor, const type &left, const type &right, const typename t_Visitor::Parameters &) \
{ \
visitor.equal_ &= (left == right); \
}
void apply_compare(t_Visitor &visitor, const double &left, const double &right, const typename t_Visitor::Parameters &param)
Definition: basic.h:215

Definition at line 367 of file basic.h.

◆ ARILES2_BASIC_TYPE [4/6]

#define ARILES2_BASIC_TYPE (   type)
Value:
template <class t_Visitor> \
void apply_defaults(const t_Visitor &, type &entry, const typename t_Visitor::Parameters &param) \
{ \
CPPUT_TRACE_FUNCTION; \
entry = param.template getDefault<type>(); \
}
void apply_defaults(const t_Visitor &, std::complex< t_Scalar > &entry, const typename t_Visitor::Parameters &param)
Definition: basic.h:257

Definition at line 367 of file basic.h.

◆ ARILES2_BASIC_TYPE [5/6]

#define ARILES2_BASIC_TYPE (   type)
Value:
template <class t_Visitor> \
void apply_copyfrom(t_Visitor &, type &left, const type &right, const typename t_Visitor::Parameters &) \
{ \
CPPUT_TRACE_FUNCTION; \
left = right; \
}
ARILES2_BASIC_TYPES_LIST ARILES2_COMPLEX_NUMBER_TYPES_LIST void apply_copyfrom(t_Visitor &, t_Enumeration &left, const t_Enumeration &right, const typename t_Visitor::Parameters &)
Definition: basic.h:338

Definition at line 367 of file basic.h.

◆ ARILES2_BASIC_TYPE [6/6]

#define ARILES2_BASIC_TYPE (   type)
Value:
template <class t_Visitor> \
void apply_copyto(t_Visitor &, const type &left, type &right, const typename t_Visitor::Parameters &) \
{ \
CPPUT_TRACE_FUNCTION; \
right = left; \
}
ARILES2_BASIC_TYPES_LIST ARILES2_COMPLEX_NUMBER_TYPES_LIST void apply_copyto(t_Visitor &, const t_Enumeration &left, t_Enumeration &right, const typename t_Visitor::Parameters &)
Definition: basic.h:384

Definition at line 367 of file basic.h.

◆ ARILES2_COMPARE_TYPES_LIST

#define ARILES2_COMPARE_TYPES_LIST
Value:
ARILES2_BASIC_TYPE(std::string)
#define ARILES2_BASIC_TYPE(type)
Definition: basic.h:367

Generate compare methods for basic types.

Definition at line 180 of file basic.h.