Ariles
Loading...
Searching...
No Matches
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

namespace  ariles2
 
namespace  ariles2::read
 
namespace  ariles2::write
 
namespace  ariles2::compare
 
namespace  ariles2::defaults
 
namespace  ariles2::process
 
namespace  ariles2::copyfrom
 
namespace  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.
 
#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.
 
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_UNUSED_ARG(param); \
visitor.readElement(entry); \
}
#define CPPUT_TRACE_FUNCTION
Definition trace.h:126

Definition at line 60 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) \
{ \
writer.writeElement(entry, param); \
}

Definition at line 60 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); \
}

Definition at line 60 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) \
{ \
entry = param.template getDefault<type>(); \
}

Definition at line 60 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 &) \
{ \
left = right; \
}

Definition at line 60 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 &) \
{ \
right = left; \
}

Definition at line 60 of file basic.h.

◆ ARILES2_COMPARE_TYPES_LIST

#define ARILES2_COMPARE_TYPES_LIST
Value:
ARILES2_BASIC_INTEGER_TYPES_LIST \
ARILES2_BASIC_TYPE(bool) \
ARILES2_BASIC_TYPE(std::string)

Generate compare methods for basic types.

Definition at line 180 of file basic.h.