древовидные способы
http://google.com '; "value =" Roger George Expendables "/> [116 ]
Добавление раздела стиля в ваш HTML и определение класса
.myClass {background-color: yellow}
http: //google.com ";» value = "Roger George Expendables" />
Добавление ссылки на таблицу стилей в ваш код
Да, это будет также работать на GCC. Я использую его в большем проекте, и это работает без проблем. Вы могли также обеспечить свой собственный класс хеширования для контейнеров TR1, но определяется что станд.:: tr1:: hash<> класс хеширования значения по умолчанию. Специализация его для пользовательских типов походит на естественный способ расширить стандартную функциональность хеширования.
Я пытался разработать точный синтаксис для того, чтобы сделать это с незаказанными ассоциативными контейнерами (также использующий GCC, как OP просил), и поразите этот вопрос.
К сожалению, это не снизилось до уровня детализации, который я хотел. Путем просмотра gcc заголовков в том, как они реализовали стандартные хеш-функции, я получил его работа. Ввиду недостатка примеров (по крайней мере, во время записи) в сети я думал, что это будет столь же хорошим местом как любой для регистрации моего собственного примера (который я могу подтвердить работы с GCC):
namespace std { namespace tr1
{
template <>
struct hash<MyType> : public unary_function<MyType, size_t>
{
size_t operator()(const MyType& v) const
{
return /* my hash algorithm */;
}
};
}}
(уведомление существует два пространства имен здесь - это - просто моя конвенция для сворачивания вложенных пространств имен),
Поскольку Вы не добавляете к std
пространство имен библиотеки, но только обеспечиваете специализации, тогда оно совершенно в порядке.
, Если Вы хотите обеспечить больше универсального подхода хеширования (например, хеш для кортежей в целом) тогда, взглянули на Fusion Повышения. Вот простой пример , который будет работать на большинство случаев (вероятно, за исключением для кортежа кортежей)