@@ -218,26 +218,26 @@ template <size_t N, typename... Ts>
218
218
using NthTypeOf = typename std::tuple_element<N, std::tuple<Ts...>>::type;
219
219
220
220
template <typename TupleT, typename ... ARGTYPES, std::size_t ... Indices>
221
- auto vector_to_tuple_helper (const TupleT& v, std::index_sequence<Indices...>)
221
+ inline auto vector_to_tuple_helper (const TupleT& v, std::index_sequence<Indices...>)
222
222
{
223
223
return std::make_tuple (std::get<NthTypeOf<Indices, ARGTYPES...>>(v[Indices])...);
224
224
}
225
225
226
226
template <typename TupleT, typename ... ARGTYPES>
227
- std::tuple<ARGTYPES...> DataPortalRepn::convert_to_tuple (const TupleT& v) const
227
+ inline std::tuple<ARGTYPES...> DataPortalRepn::convert_to_tuple (const TupleT& v) const
228
228
{
229
229
return vector_to_tuple_helper<TupleT, ARGTYPES...>(
230
230
v, std::make_index_sequence<sizeof ...(ARGTYPES)>());
231
231
}
232
232
233
233
template <typename TupleT, typename ... ARGTYPES, std::size_t ... Indices>
234
- TupleT tuple_to_vector_helper (const std::tuple<ARGTYPES...>& v, std::index_sequence<Indices...>)
234
+ inline TupleT tuple_to_vector_helper (const std::tuple<ARGTYPES...>& v, std::index_sequence<Indices...>)
235
235
{
236
236
return TupleT{std::get<Indices>(v)...};
237
237
}
238
238
239
239
template <typename TupleT, typename ... ARGTYPES>
240
- TupleT DataPortalRepn::convert_from_tuple (const std::tuple<ARGTYPES...>& v) const
240
+ inline TupleT DataPortalRepn::convert_from_tuple (const std::tuple<ARGTYPES...>& v) const
241
241
{
242
242
return tuple_to_vector_helper<TupleT, ARGTYPES...>(
243
243
v, std::make_index_sequence<sizeof ...(ARGTYPES)>());
@@ -263,7 +263,7 @@ inline std::string type_name<double>()
263
263
264
264
// Set data
265
265
template <typename ValueType>
266
- bool DataPortalRepn::get (const std::string& name, std::set<ValueType>& data) const
266
+ inline bool DataPortalRepn::get (const std::string& name, std::set<ValueType>& data) const
267
267
{
268
268
auto it = set_data.find (name);
269
269
if (it == set_data.end ())
@@ -278,7 +278,7 @@ bool DataPortalRepn::get(const std::string& name, std::set<ValueType>& data) con
278
278
279
279
// Set<tuple<ARGTYPES ...>> data
280
280
template <typename ... ARGTYPES>
281
- bool DataPortalRepn::get (const std::string& name, std::set<std::tuple<ARGTYPES...>>& data) const
281
+ inline bool DataPortalRepn::get (const std::string& name, std::set<std::tuple<ARGTYPES...>>& data) const
282
282
{
283
283
auto it = set_data.find (name);
284
284
if (it == set_data.end ())
@@ -297,7 +297,7 @@ bool DataPortalRepn::get(const std::string& name, std::set<std::tuple<ARGTYPES..
297
297
// Indexed set of simple data, with simple indices
298
298
// Map<KeyType, Set<SetType>>
299
299
template <typename KeyType, typename SetType>
300
- typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_tuple<SetType>::value, bool >::type
300
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_tuple<SetType>::value, bool >::type
301
301
DataPortalRepn::get (const std::string& name, std::map<KeyType, std::set<SetType>>& data) const
302
302
{
303
303
auto it = indexed_set_data.find (name);
@@ -318,7 +318,7 @@ DataPortalRepn::get(const std::string& name, std::map<KeyType, std::set<SetType>
318
318
// Indexed set of simple data, with tuple indices
319
319
// Map<tuple<KEYTYPES...>, Set<SetType>>
320
320
template <typename SetType, typename ... KEYTYPES>
321
- typename std::enable_if<!is_std_tuple<SetType>::value, bool >::type DataPortalRepn::get (
321
+ inline typename std::enable_if<!is_std_tuple<SetType>::value, bool >::type DataPortalRepn::get (
322
322
const std::string& name, std::map<std::tuple<KEYTYPES...>, std::set<SetType>>& data) const
323
323
{
324
324
auto it = indexed_set_data.find (name);
@@ -340,7 +340,7 @@ typename std::enable_if<!is_std_tuple<SetType>::value, bool>::type DataPortalRep
340
340
// Indexed set of tuple data, with simple indices
341
341
// Map<KeyType, Set<std::tuple<SETTYPES...>>>
342
342
template <typename KeyType, typename ... SETTYPES>
343
- typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::get (
343
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::get (
344
344
const std::string& name, std::map<KeyType, std::set<std::tuple<SETTYPES...>>>& data) const
345
345
{
346
346
auto it = indexed_set_data.find (name);
@@ -367,7 +367,7 @@ typename std::enable_if<!is_std_tuple<KeyType>::value, bool>::type DataPortalRep
367
367
// Indexed set of tuple data, with tuple indices
368
368
// Map<std::tuple<KEYTYPES...>, Set<std::tuple<SETTYPES...>>>
369
369
template <typename ... KEYTYPES, typename ... SETTYPES>
370
- bool DataPortalRepn::get (
370
+ inline bool DataPortalRepn::get (
371
371
const std::string& name,
372
372
std::map<std::tuple<KEYTYPES...>, std::set<std::tuple<SETTYPES...>>>& data) const
373
373
{
@@ -395,8 +395,8 @@ bool DataPortalRepn::get(
395
395
// Parameter data
396
396
// TYPE
397
397
template <typename TYPE>
398
- typename std::enable_if<
399
- !is_std_map<TYPE>::value && !is_std_set<TYPE>::value && !is_std_tuple<TYPE>::value, bool >::type
398
+ inline typename std::enable_if<
399
+ !is_std_map<TYPE>::value && !is_std_set<TYPE>::value && !is_std_tuple<TYPE>::value, bool >::type
400
400
DataPortalRepn::get (const std::string& name, TYPE& data) const
401
401
{
402
402
auto it = parameter_data.find (name);
@@ -411,7 +411,7 @@ DataPortalRepn::get(const std::string& name, TYPE& data) const
411
411
}
412
412
413
413
template <>
414
- bool DataPortalRepn::get (const std::string& name, double & data) const
414
+ inline bool DataPortalRepn::get (const std::string& name, double & data) const
415
415
{
416
416
auto it = parameter_data.find (name);
417
417
if (it == parameter_data.end ())
@@ -429,7 +429,7 @@ bool DataPortalRepn::get(const std::string& name, double& data) const
429
429
430
430
// Tuple<VALUETYPES...>
431
431
template <typename ... VALUETYPES>
432
- bool DataPortalRepn::get (const std::string& name, std::tuple<VALUETYPES...>& data) const
432
+ inline bool DataPortalRepn::get (const std::string& name, std::tuple<VALUETYPES...>& data) const
433
433
{
434
434
auto it = parameter_data.find (name);
435
435
if (it == parameter_data.end ())
@@ -445,7 +445,7 @@ bool DataPortalRepn::get(const std::string& name, std::tuple<VALUETYPES...>& dat
445
445
// Indexed parameter data with simple indices
446
446
// Map<Key,Value> - Indexed parameter data
447
447
template <typename KeyType, typename ValueType>
448
- typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_set<ValueType>::value
448
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_set<ValueType>::value
449
449
&& !is_std_tuple<ValueType>::value,
450
450
bool >::type
451
451
DataPortalRepn::get (const std::string& name, std::map<KeyType, ValueType>& data) const
@@ -467,7 +467,7 @@ DataPortalRepn::get(const std::string& name, std::map<KeyType, ValueType>& data)
467
467
// Indexed parameter data with tuple indices
468
468
// Map<tuple<KEYTYPES...>,Value> - Indexed parameter data
469
469
template <typename ValueType, typename ... KEYTYPES>
470
- typename std::enable_if<!is_std_set<ValueType>::value && !is_std_tuple<ValueType>::value,
470
+ inline typename std::enable_if<!is_std_set<ValueType>::value && !is_std_tuple<ValueType>::value,
471
471
bool >::type
472
472
DataPortalRepn::get (const std::string& name,
473
473
std::map<std::tuple<KEYTYPES...>, ValueType>& data) const
@@ -490,7 +490,7 @@ DataPortalRepn::get(const std::string& name,
490
490
// Indexed parameter data
491
491
// Map<KeyType,tuple<VALUETYPES...>> - Indexed parameter data
492
492
template <typename KeyType, typename ... VALUETYPES>
493
- typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::get (
493
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::get (
494
494
const std::string& name, std::map<KeyType, std::tuple<VALUETYPES...>>& data) const
495
495
{
496
496
auto it = indexed_parameter_data.find (name);
@@ -512,7 +512,7 @@ typename std::enable_if<!is_std_tuple<KeyType>::value, bool>::type DataPortalRep
512
512
// Indexed parameter data with tuple indices
513
513
// Map<tuple<KEYTYPES...>,tuple<VALUETYPES...>> - Indexed parameter data
514
514
template <typename ... KEYTYPES, typename ... VALUETYPES>
515
- bool DataPortalRepn::get (const std::string& name,
515
+ inline bool DataPortalRepn::get (const std::string& name,
516
516
std::map<std::tuple<KEYTYPES...>, std::tuple<VALUETYPES...>>& data) const
517
517
{
518
518
auto it = indexed_parameter_data.find (name);
@@ -537,15 +537,15 @@ bool DataPortalRepn::get(const std::string& name,
537
537
538
538
// Set data
539
539
template <typename ValueType>
540
- bool DataPortalRepn::put (const std::string& name, const std::set<ValueType>& data)
540
+ inline bool DataPortalRepn::put (const std::string& name, const std::set<ValueType>& data)
541
541
{
542
542
set_data[name] = data;
543
543
return true ;
544
544
}
545
545
546
546
// Set<tuple<ARGTYPES ...>> data
547
547
template <typename ... ARGTYPES>
548
- bool DataPortalRepn::put (const std::string& name, const std::set<std::tuple<ARGTYPES...>>& data)
548
+ inline bool DataPortalRepn::put (const std::string& name, const std::set<std::tuple<ARGTYPES...>>& data)
549
549
{
550
550
std::set<TupleValueType> tmp;
551
551
@@ -560,7 +560,7 @@ bool DataPortalRepn::put(const std::string& name, const std::set<std::tuple<ARGT
560
560
// Indexed set of simple data, with simple indices
561
561
// Map<KeyType, Set<SetType>>
562
562
template <typename KeyType, typename SetType>
563
- typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_tuple<SetType>::value, bool >::type
563
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_tuple<SetType>::value, bool >::type
564
564
DataPortalRepn::put (const std::string& name, const std::map<KeyType, std::set<SetType>>& data)
565
565
{
566
566
std::map<KeyTypes, SetTypes> tmp;
@@ -575,7 +575,7 @@ DataPortalRepn::put(const std::string& name, const std::map<KeyType, std::set<Se
575
575
// Indexed set of simple data, with tuple indices
576
576
// Map<tuple<KEYTYPES...>, Set<SetType>>
577
577
template <typename SetType, typename ... KEYTYPES>
578
- typename std::enable_if<!is_std_tuple<SetType>::value, bool >::type DataPortalRepn::put (
578
+ inline typename std::enable_if<!is_std_tuple<SetType>::value, bool >::type DataPortalRepn::put (
579
579
const std::string& name, const std::map<std::tuple<KEYTYPES...>, std::set<SetType>>& data)
580
580
{
581
581
std::map<KeyTypes, SetTypes> tmp;
@@ -590,7 +590,7 @@ typename std::enable_if<!is_std_tuple<SetType>::value, bool>::type DataPortalRep
590
590
// Indexed set of tuple data, with simple indices
591
591
// Map<KeyType, Set<std::tuple<SETTYPES...>>>
592
592
template <typename KeyType, typename ... SETTYPES>
593
- typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::put (
593
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::put (
594
594
const std::string& name, const std::map<KeyType, std::set<std::tuple<SETTYPES...>>>& data)
595
595
{
596
596
std::map<KeyTypes, SetTypes> tmp;
@@ -609,7 +609,7 @@ typename std::enable_if<!is_std_tuple<KeyType>::value, bool>::type DataPortalRep
609
609
// Indexed set of tuple data, with tuple indices
610
610
// Map<std::tuple<KEYTYPES...>, Set<std::tuple<SETTYPES...>>>
611
611
template <typename ... KEYTYPES, typename ... SETTYPES>
612
- bool DataPortalRepn::put (
612
+ inline bool DataPortalRepn::put (
613
613
const std::string& name,
614
614
const std::map<std::tuple<KEYTYPES...>, std::set<std::tuple<SETTYPES...>>>& data)
615
615
{
@@ -629,7 +629,7 @@ bool DataPortalRepn::put(
629
629
630
630
// Parameter data
631
631
template <typename TYPE>
632
- typename std::enable_if<
632
+ inline typename std::enable_if<
633
633
!is_std_map<TYPE>::value && !is_std_set<TYPE>::value && !is_std_tuple<TYPE>::value, bool >::type
634
634
DataPortalRepn::put (const std::string& name, const TYPE& data)
635
635
{
@@ -639,15 +639,15 @@ DataPortalRepn::put(const std::string& name, const TYPE& data)
639
639
}
640
640
641
641
template <>
642
- bool DataPortalRepn::put (const std::string& name, const double & data)
642
+ inline bool DataPortalRepn::put (const std::string& name, const double & data)
643
643
{
644
644
parameter_data[name] = data;
645
645
646
646
return true ;
647
647
}
648
648
649
649
template <typename ... VALUETYPES>
650
- bool DataPortalRepn::put (const std::string& name, const std::tuple<VALUETYPES...>& data)
650
+ inline bool DataPortalRepn::put (const std::string& name, const std::tuple<VALUETYPES...>& data)
651
651
{
652
652
parameter_data[name] = convert_from_tuple<TupleValueType, VALUETYPES...>(data);
653
653
@@ -657,7 +657,7 @@ bool DataPortalRepn::put(const std::string& name, const std::tuple<VALUETYPES...
657
657
// Indexed parameter data with simple indices
658
658
// Map<Key,Value> - Indexed parameter data
659
659
template <typename KeyType, typename ValueType>
660
- typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_set<ValueType>::value
660
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value && !is_std_set<ValueType>::value
661
661
&& !is_std_tuple<ValueType>::value,
662
662
bool >::type
663
663
DataPortalRepn::put (const std::string& name, const std::map<KeyType, ValueType>& data)
@@ -674,7 +674,7 @@ DataPortalRepn::put(const std::string& name, const std::map<KeyType, ValueType>&
674
674
// Indexed parameter data with tuple indices
675
675
// Map<tuple<KEYTYPES...>,Value> - Indexed parameter data
676
676
template <typename ValueType, typename ... KEYTYPES>
677
- typename std::enable_if<!is_std_set<ValueType>::value && !is_std_tuple<ValueType>::value,
677
+ inline typename std::enable_if<!is_std_set<ValueType>::value && !is_std_tuple<ValueType>::value,
678
678
bool >::type
679
679
DataPortalRepn::put (const std::string& name,
680
680
const std::map<std::tuple<KEYTYPES...>, ValueType>& data)
@@ -691,7 +691,7 @@ DataPortalRepn::put(const std::string& name,
691
691
// Indexed parameter data
692
692
// Map<KeyType,tuple<VALUETYPES...>> - Indexed parameter data
693
693
template <typename KeyType, typename ... VALUETYPES>
694
- typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::put (
694
+ inline typename std::enable_if<!is_std_tuple<KeyType>::value, bool >::type DataPortalRepn::put (
695
695
const std::string& name, const std::map<KeyType, std::tuple<VALUETYPES...>>& data)
696
696
{
697
697
std::map<KeyTypes, ParameterTypes> tmp;
@@ -706,7 +706,7 @@ typename std::enable_if<!is_std_tuple<KeyType>::value, bool>::type DataPortalRep
706
706
// Indexed parameter data with tuple indices
707
707
// Map<tuple<KEYTYPES...>,tuple<VALUETYPES...>> - Indexed parameter data
708
708
template <typename ... KEYTYPES, typename ... VALUETYPES>
709
- bool DataPortalRepn::put (const std::string& name,
709
+ inline bool DataPortalRepn::put (const std::string& name,
710
710
const std::map<std::tuple<KEYTYPES...>, std::tuple<VALUETYPES...>>& data)
711
711
{
712
712
std::map<KeyTypes, ParameterTypes> tmp;
0 commit comments