Специализация для std::bitmap
От: Alexander Pazdnikov  
Дата: 26.06.08 12:08
Оценка: :)
Здрувствуйте.

Назначение функции tostr переводить значение в строку.
Отлично работает для boost.date_time
Захотел добавить std::bitmap,

#include <bitset>
#include <string>

template<typename T> std::string tostr(const T& val)
{
    return boost::posix_time::to_simple_string(val);
};

template<> std::string tostr(const std::bitset<???>& val)
{
    //return val;
    return val.to_string<char,char_traits<char>,allocator<char> >();
};

Как правильно задать специализацию для шаблона класса, если такое возможно ?
Re: Специализация для std::bitmap
От: Vamp Россия  
Дата: 26.06.08 13:15
Оценка: 2 (1)
А в чем трудность-то? Так и пишите:
template<class T> std::string tostr(const std::bitset<T>& val)
{
    return val.to_string<char,char_traits<char>,allocator<char> >();
};


Но тут конечно я предполагаю, что ваш битсет имеет эту функцию — to_string.
Да здравствует мыло душистое и веревка пушистая.
Re[2]: Специализация для std::bitmap
От: Were  
Дата: 26.06.08 13:20
Оценка: 2 (1)
Здравствуйте, Vamp, Вы писали:

V>А в чем трудность-то? Так и пишите:

V>
V>template<class T> std::string tostr(const std::bitset<T>& val)
V>{
V>    return val.to_string<char,char_traits<char>,allocator<char> >();
V>};
V>


Вернее так
template<size_t _Bits> std::string tostr(const std::bitset<_Bits>& val)
{
    return val.to_string<char,char_traits<char>,allocator<char> >();
};
Re[3]: Специализация для std::bitmap
От: Vamp Россия  
Дата: 26.06.08 13:23
Оценка:
W>Вернее так...
Ну да. Я даже, честно говоря, и не задумался что там за шаблонный параметр у битсета.
Да здравствует мыло душистое и веревка пушистая.
Re[3]: Специализация для std::bitmap
От: Sergey Россия  
Дата: 26.06.08 13:27
Оценка: +1
Were пишет:

> Вернее так

>
> template<*size_t _Bits*> std::string tostr(const std::bitset<*_Bits*>& val)
> {
> return val.to_string<char,char_traits<char>,allocator<char> >();
> };

А за применение в пользовательском коде идентификаторов, начинающихся с
подчёркивания и большой буквы — по рукам.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[4]: Специализация для std::bitmap
От: Were  
Дата: 26.06.08 13:59
Оценка:
Здравствуйте, Sergey, Вы писали:

S>А за применение в пользовательском коде идентификаторов, начинающихся с

S>подчёркивания и большой буквы — по рукам.

Скопировал из хидера. О применении спорить лениво, каждому — свое
Re: Специализация для std::bitmap
От: Кодт Россия  
Дата: 27.06.08 08:19
Оценка:
Здравствуйте, Alexander Pazdnikov, Вы писали:

Пожалуйста:
template<size_t N> std::string tostr(const std::bitset<N>& val)
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.