aron_conversions.h File Reference
#include <algorithm>
#include <map>
#include <memory>
#include <optional>
#include <type_traits>
#include <vector>
+ Include dependency graph for aron_conversions.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  is_optional<... >
 
struct  is_optional< std::optional< Ts... > >
 

Namespaces

namespace  armarx
 This file offers overloads of toIce() and fromIce() functions for STL container types.
 
namespace  armarx::aron
 
namespace  armarx::aron::detail
 

Functions

template<class BoT, class DtoT>
BoT fromAron (const DtoT &dto)
 
template<class DtoT, class BoT>
void fromAron (const DtoT &dto, bool dtoValid, BoT &bo, bool &boValid)
 
template<class DtoT, class BoT>
void fromAron (const DtoT &dto, bool dtoValid, std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
void fromAron (const DtoT &dto, std::unique_ptr< BoT > &bo)
 
template<class DtoKeyT, class DtoValueT, class BoKeyT, class BoValueT>
requires (!(detail::DtoAndBoAreSame<DtoKeyT, BoKeyT> and detail::DtoAndBoAreSame<DtoValueT, BoValueT>))
void fromAron (const std::map< DtoKeyT, DtoValueT > &dtoMap, std::map< BoKeyT, BoValueT > &boMap)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void fromAron (const std::optional< DtoT > &dto, std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void fromAron (const std::vector< DtoT > &dtos, std::vector< BoT > &bos)
 
template<class T>
void fromAron (const T &dto, T &bo)
 
template<class DtoT, class BoT>
requires (not detail::is_optional<DtoT>::value)
void fromAron (DtoT &dto, const std::optional< BoT > &bo)
 
template<class BoT, class DtoT>
BoT fromAron (const DtoT &dto)
 
template<class DtoT, class BoT>
void fromAron (const DtoT &dto, bool dtoValid, BoT &bo, bool &boValid)
 
template<class DtoT, class BoT>
void fromAron (const DtoT &dto, bool dtoValid, std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
void fromAron (const DtoT &dto, std::unique_ptr< BoT > &bo)
 
template<class DtoKeyT, class DtoValueT, class BoKeyT, class BoValueT>
requires (!(aron::detail::DtoAndBoAreSame<DtoKeyT, BoKeyT> and aron::detail::DtoAndBoAreSame<DtoValueT, BoValueT>))
void fromAron (const std::map< DtoKeyT, DtoValueT > &dtoMap, std::map< BoKeyT, BoValueT > &boMap)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void fromAron (const std::optional< DtoT > &dto, std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void fromAron (const std::vector< DtoT > &dtos, std::vector< BoT > &bos)
 
template<typename T>
auto fromAron (const std::vector< T > &v) -> std::vector< decltype(fromAron(T()))>
 Converter function for vector of aron elements to plain cpp type.
 
template<class T>
void fromAron (const T &dto, T &bo)
 
template<class DtoT, class BoT>
DtoT toAron (const BoT &bo)
 
template<class DtoKeyT, class DtoValueT, class BoKeyT, class BoValueT>
requires (!(detail::DtoAndBoAreSame<DtoKeyT, BoKeyT> and detail::DtoAndBoAreSame<DtoValueT, BoValueT>))
std::map< DtoKeyT, DtoValueT > toAron (const std::map< BoKeyT, BoValueT > &boMap)
 
template<class DtoT, class BoT>
void toAron (DtoT &dto, bool &dtoValid, const BoT &bo, bool boValid)
 
template<class DtoT, class BoT>
void toAron (DtoT &dto, bool &dtoValid, const std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
void toAron (DtoT &dto, const std::unique_ptr< BoT > &bo)
 
template<class DtoKeyT, class DtoValueT, class BoKeyT, class BoValueT>
requires (!(detail::DtoAndBoAreSame<DtoKeyT, BoKeyT> and detail::DtoAndBoAreSame<DtoValueT, BoValueT>))
void toAron (std::map< DtoKeyT, DtoValueT > &dtoMap, const std::map< BoKeyT, BoValueT > &boMap)
 
template<class DtoT, class BoT>
requires (not detail::is_optional<BoT>::value)
void toAron (std::optional< DtoT > &dto, const BoT &bo)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void toAron (std::optional< DtoT > &dto, const std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void toAron (std::vector< DtoT > &dtos, const std::vector< BoT > &bos)
 
template<class T>
void toAron (T &dto, const T &bo)
 Framework for converting ARON DTOs (Data Transfer Objects) to C++ BOs (Business Objects) and back.
 
template<class DtoT, class BoT>
DtoT toAron (const BoT &bo)
 
template<class DtoKeyT, class DtoValueT, class BoKeyT, class BoValueT>
requires (!(aron::detail::DtoAndBoAreSame<DtoKeyT, BoKeyT> and aron::detail::DtoAndBoAreSame<DtoValueT, BoValueT>))
std::map< DtoKeyT, DtoValueT > toAron (const std::map< BoKeyT, BoValueT > &boMap)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
std::vector< DtoT > toAron (const std::vector< BoT > &bos)
 
template<typename T>
auto toAron (const std::vector< T > &v)
 
template<class DtoT, class BoT>
void toAron (DtoT &dto, bool &dtoValid, const BoT &bo, bool boValid)
 
template<class DtoT, class BoT>
void toAron (DtoT &dto, bool &dtoValid, const std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
void toAron (DtoT &dto, const std::unique_ptr< BoT > &bo)
 
template<class DtoKeyT, class DtoValueT, class BoKeyT, class BoValueT>
requires (!(aron::detail::DtoAndBoAreSame<DtoKeyT, BoKeyT> and aron::detail::DtoAndBoAreSame<DtoValueT, BoValueT>))
void toAron (std::map< DtoKeyT, DtoValueT > &dtoMap, const std::map< BoKeyT, BoValueT > &boMap)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void toAron (std::optional< DtoT > &dto, const std::optional< BoT > &bo)
 
template<class DtoT, class BoT>
requires (!aron::detail::DtoAndBoAreSame<DtoT, BoT>)
void toAron (std::vector< DtoT > &dtos, const std::vector< BoT > &bos)
 
template<class T>
void toAron (T &dto, const T &bo)