-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41882/#review113739
-----------------------------------------------------------
Why not trying this:
```c++
template <typename ...FlagsTypes>
class Flags : public virtual FlagsTypes...
{
static_assert(
std::is_same<
std::tuple<typename std::is_base_of<FlagsBase, FlagsTypes>::type...>,
std::tuple<typename std::is_object<FlagsTypes>::type...>>::value,
"Can only instantiate Flags with FlagsBase types.");
};
template <>
class Flags<> : public virtual FlagsBase
{};
```
It seems more concise, it is easy to read and allows an arbitrary number of
parameters. On the down side, you won't know exactly which type broke the
condition.
- Alexander Rojas
On Jan. 11, 2016, 10:25 a.m., Benjamin Bannier wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/41882/
> -----------------------------------------------------------
>
> (Updated Jan. 11, 2016, 10:25 a.m.)
>
>
> Review request for mesos, Benjamin Hindman and Till Toenshoff.
>
>
> Bugs: MESOS-4278
> https://issues.apache.org/jira/browse/MESOS-4278
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Constrained types used in Flags instantiation.
>
>
> Diffs
> -----
>
> 3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp
> addef78ddeb0007cf1e1c79738381138a18a35b6
>
> Diff: https://reviews.apache.org/r/41882/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Benjamin Bannier
>
>