Namespace Scine::Core::DerivedModule::detail¶
-
namespace
detail
Functions
-
bool
caseInsensitiveEqual
(const std::string &a, const std::string &b)
-
template<typename
Sequence
, typenamePredicate
, typenameExecutable
>
autoexec_if
(const Predicate &p, const Executable &e, Sequence * = 0) Run-time “iteration” through type list, if predicate matches, call another function, otherwise return its none.
- Return
Executable::none()
ifPredicate
never matches, otherwiseExecutable(T)
for the first T inSequence
that matches Predicate.- Template Parameters
Sequence
: a boost::mpl compatible sequence typePredicate
: A type with a template<T> bool operator() (T* = 0) const member specifying whether to executeExecutable
for the type T inSequence
Executable
: A type fulfilling the following requirements:Has a ResultType typedef
Has a template<T> ResultType operator() (T* = 0) const member which is executed if returns true for a type in
Sequence
Has a static ResultType none() const member returning the base case
-
constexpr bool
strEqual
(const char *a, const char *b)
-
template<typename ...
ModelTypes
>
constexpr boolidentifiersOverlap
()
-
template<typename
MPLVector
, std::size_t...Inds
>
constexpr boolidentifierOverlapForwarder
(std::index_sequence<Inds...>)
-
bool