Информация об изменениях

Сообщение Re: Как проверить что size_t является синонимом к unsigned i от 23.10.2014 6:52

Изменено 23.10.2014 8:11 slava_phirsov

Здравствуйте, GhostCoders, Вы писали:

GC>Какое подскажите решение?


[Александреску mode on]


struct generic_some
{
    static void func(std::string);
    static void func(int);
    static void func(unsigned int);
    ....
    // NB! func(size_t)  не определена
};

template <typename T>
struct some;

template <>
struct some<std::true_type>: generic_some
{};

template <>
struct some<std::false_type>: generic_some
{
    using generic_some::func;

    static void func(size_t);
};

struct some: some<typename std::is_same<unsigned int, size_t>::type>
{};


[Александреску mode off]


Используйте этот бред на свой страх и риск
Re: Как проверить что size_t является синонимом к unsigned i
Здравствуйте, GhostCoders, Вы писали:

GC>Какое подскажите решение?


[Александреску mode on]


struct generic_some
{
    static void func(std::string);
    static void func(int);
    static void func(unsigned int);
    ....
    // NB! func(size_t)  не определена
};

template <typename T>
struct some_;

template <>
struct some_<std::true_type>: generic_some
{};

template <>
struct some_<std::false_type>: generic_some
{
    using generic_some::func;

    static void func(size_t);
};

struct some: some_<std::is_same<unsigned int, size_t>::type>
{};


[Александреску mode off]


Используйте этот бред на свой страх и риск