Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Scientific Software
Takin
mag-core
Commits
6fba1fd9
Commit
6fba1fd9
authored
Jan 21, 2019
by
Tobias WEBER
Browse files
small simplification
parent
706b5082
Changes
2
Hide whitespace changes
Inline
Side-by-side
libs/traits.h
View file @
6fba1fd9
...
...
@@ -127,15 +127,6 @@ using remove_constref_t = typename remove_constref<T>::type;
// -----------------------------------------------------------------------------
template
<
class
T
,
T
...
idx
>
using
integer_sequence
=
std
::
integer_sequence
<
T
,
idx
...
>
;
template
<
class
T
,
T
NUM
>
using
make_integer_sequence
=
std
::
make_integer_sequence
<
T
,
NUM
>
;
/**
* function call implementation
*/
...
...
@@ -143,7 +134,7 @@ template<class t_func,
class
t_arg
=
double
,
template
<
class
...
>
class
t_cont
=
std
::
vector
,
std
::
size_t
...
idx
>
t_arg
_call_impl
(
t_func
func
,
const
t_cont
<
t_arg
>&
args
,
const
/*
std::
*/
integer_sequence
<
std
::
size_t
,
idx
...
>&
)
const
std
::
integer_sequence
<
std
::
size_t
,
idx
...
>&
)
{
return
func
(
args
[
idx
]...);
}
...
...
@@ -153,7 +144,7 @@ t_arg _call_impl(t_func func, const t_cont<t_arg>& args,
*/
template
<
class
t_func
,
class
t_arg
,
std
::
size_t
...
idx
>
t_arg
_call_impl
(
t_func
func
,
const
std
::
array
<
t_arg
,
sizeof
...(
idx
)
>&
args
,
const
/*
std::
*/
integer_sequence
<
std
::
size_t
,
idx
...
>&
)
const
std
::
integer_sequence
<
std
::
size_t
,
idx
...
>&
)
{
return
func
(
args
[
idx
]...);
}
...
...
@@ -166,7 +157,7 @@ template<std::size_t iNumArgs, class t_func,
class
t_arg
=
double
,
template
<
class
...
>
class
t_cont
=
std
::
vector
>
t_arg
call
(
t_func
func
,
const
t_cont
<
t_arg
>&
args
)
{
using
t_seq
=
/*
std::
*/
make_integer_sequence
<
std
::
size_t
,
iNumArgs
>
;
using
t_seq
=
std
::
make_integer_sequence
<
std
::
size_t
,
iNumArgs
>
;
return
_call_impl
<
t_func
,
t_arg
,
t_cont
>
(
func
,
args
,
t_seq
());
}
...
...
@@ -176,7 +167,7 @@ t_arg call(t_func func, const t_cont<t_arg>& args)
template
<
std
::
size_t
iNumArgs
,
class
t_func
,
class
t_arg
=
double
>
t_arg
call
(
t_func
func
,
const
std
::
array
<
t_arg
,
iNumArgs
>&
args
)
{
using
t_seq
=
/*
std::
*/
make_integer_sequence
<
std
::
size_t
,
iNumArgs
>
;
using
t_seq
=
std
::
make_integer_sequence
<
std
::
size_t
,
iNumArgs
>
;
return
_call_impl
<
t_func
,
t_arg
>
(
func
,
args
,
t_seq
());
}
...
...
@@ -192,7 +183,7 @@ using _t_fkt_vararg_impl = t_arg(*)(
template
<
typename
t_arg
,
std
::
size_t
...
idx
>
static
_t_fkt_vararg_impl
<
t_arg
,
idx
...
>
_tstfkt_vararg
(
const
integer_sequence
<
std
::
size_t
,
idx
...
>&
)
_tstfkt_vararg
(
const
std
::
integer_sequence
<
std
::
size_t
,
idx
...
>&
)
{
return
nullptr
;
/* not interested in return value, only its type */
}
...
...
@@ -202,9 +193,7 @@ _tstfkt_vararg(const integer_sequence<std::size_t, idx...>&)
template
<
typename
t_arg
,
std
::
size_t
iNumArgs
>
using
t_fkt_vararg
=
decltype
(
_tstfkt_vararg
<
t_arg
>
(
make_integer_sequence
<
std
::
size_t
,
iNumArgs
>
()));
std
::
make_integer_sequence
<
std
::
size_t
,
iNumArgs
>
()));
// -----------------------------------------------------------------------------
}
...
...
tools/structfact/structfact.cpp
View file @
6fba1fd9
...
...
@@ -21,6 +21,7 @@
#include <fstream>
#include <random>
#include <chrono>
#include <tuple>
#include <boost/version.hpp>
#include <boost/config.hpp>
...
...
@@ -915,7 +916,6 @@ void StructFactDlg::ImportCIF()
// ----------------------------------------------------------------------------
/**
* generate symmetric nuclei from space group
*/
...
...
@@ -962,8 +962,7 @@ void StructFactDlg::GenerateFromSG()
// add new nuclei
for
(
const
auto
&
nucl
:
generatednuclei
)
AddTabItem
(
-
1
,
std
::
get
<
0
>
(
nucl
),
std
::
get
<
1
>
(
nucl
),
std
::
get
<
2
>
(
nucl
),
std
::
get
<
3
>
(
nucl
),
std
::
get
<
4
>
(
nucl
),
std
::
get
<
5
>
(
nucl
),
std
::
get
<
6
>
(
nucl
),
std
::
get
<
7
>
(
nucl
));
std
::
apply
(
&
StructFactDlg
::
AddTabItem
,
std
::
tuple_cat
(
std
::
make_tuple
(
this
,
-
1
),
nucl
));
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment