LINUX.ORG.RU

Сообщения kitov

 

c++ , constexpr

enum Type{Type1,Type2};

template<enum Type>
struct Foo
{
};

const Type gettype()
{
return Type1;
}

const Type t = gettype();
Foo<t> foo; // конечно не прокатывает

В новом стандарте обещают "constexpr" , а как сейчас побороть компилятор ?

kitov
()

python(2.5/2.6) , relative import

Например имеем такую структуру :
core -
init.py
coremain.py
test -
init.py
testmain.py

Как импортировать coremain из testamin(не трогая PYTHONPATH) ?

kitov
()

Python,list,сильно не пинать

Начинаю разбираться с питоном .

class Foo(object):
__x=10
def __setX(self,x):
self.__x=10
def __getX(self):
return self.__x
x=property(__getX,__setX)
def bar(self):
for prop in [self.x]:
prop=123456789

почeму в методе bar не будет присвоено значение property x ?
Оно остается 10

>>>

kitov
()

boost::bind и boost::to_lower_copy

Что-то под конец рабочего дня голова перегрелась
class channel{
std::string name()const;
...
}
std::vector<channel*> channels;
std::string foo="bla_bla";
std::remove_if(channels.begin(),channels.end(),
boost::bind(std::equal_to<std::string>(),
boost::bind(&channel::name,_1),
boost::to_lower_copy(foo)
)
);

Сравниваться должны в нижнем регистре .
Как завернуть boost::bind(&channel::name,_1) в to_lower_copy ?
Bind ругается ...

>>>

kitov
()

плюсы...

есть басовый класс
struct base{
virtual void foo()=0;
}

и его дети
template<typename T>
struct child:public base{
...
vector<T> values;
}

как реализовать виртуальную функцию или что-нибудь аналогичное в классе base для доступа к values .

P.S. Классы child будут храниться в контейнере как указатели на base

>>>

kitov
()

с++ , неясности

Имеем
struct A{
enum Type{
E1,E2}
static void f();
};

и

template<typename T>
void func(){
код...
}

если вызвать func(A::E1) , то как в func() добраться до A::f() ,
если это возможно ?

>>>

kitov
()

sourceforge.net

Кто положил http://sourceforge.net ?

>>>

kitov
()

Регулярные выражения

Ищу строку которая не содержит определенный техт
(?!техт) - не работает , как правильно ?

>>>

kitov
()

Qt и исключения .

Программа с использованием Qt , тупо не перехватывает исключения .
try{
throw int(10);
}catch(...){
qDebug("any exception");
}
В простой функции приводит к "abnormal program termination" ,
Qt собрана с поддержкой исключений , и прога компилируется с ключем -fexception .
В чем может быть дело ?

>>>

kitov
()

qmake , DLLDESTDIR , debug and release

Нужно после компиляции скопировать библиотеку в определенную директорию,
например /home/user/prog , но чтобы debug версия в дир. debug ну и другая в релиз цоответственно .
Пробовал прописатц скопы :
debug:DLLDESTDIR=/home/user/prog/debug
release:DLLDESTDIR=/home/user/prog/release
qmake-у пофигу , внимания не обращает , копирует в одну дир-ию .
Никто не подскажет как быть ?

>>>

kitov
()

Qt + boost

Имеем .
1. Библиотека для работы с CAN-Bus , сообщения читаются в отдельном треде(boost) и отсылаются сигналом(boost).
2. Класс-морда на Qt , унаследованный от QWidget , бустовский сигнал соединен с функцией класса ( сигнал посылается из треда )

В функции я разбираю сообщения и вывожу на LCDNumber's , которые обновляются с большой задержкой , но если минимироватъ , а потом максимировать окно , происходит мгновенное обновление . QApplication::processEvents() не помогает .
Также не могу ничего нарисовать на плоте и не работает qDebug() :-)
Буквально "на днях" столкнулся с multithreading-овым программированием , хелп ми плиз .
Кстати , что можно и нужно почитать на эту тему ?

>>>

kitov
()

парадокс

Водрузил на ноуn кубунту 7.10 , WLAN настроил через wpa_supplicant
c WPA2 , всё работало .
Сегодня включаю , почту не забрать , интернет страницы не открываются ,
хотя всё прекрасно пропинговывается , dns прописаны , gateway тоже .
Что за фигня ?

>>>

kitov
()

Плюсы , реализация класса .

Имеем enum DataType{ TYPE1,TYPE2,...TYPEN };
каждая константа соответсвует определённому POD типу (uchar , int , double ...)

template<typename T>
struct property {
std::string name;
T value;
};

но чтобы эта структура зависела от DataType , которая дефинирована
в сишной библиотеке , куда мне доступа нет .
Например TYPE1 соответствует unsigned char - значит мне нужна структура
с T=unsigned char .
Как реализовать такое ?

>>>

kitov
()

Чудесная картинка на заглавной странице

Что за медвежонок на заглавной странице , виден только в теме black ?

http://www.linux.org.ru/black/lorlogo.png

kitov
()

Singleton в качестве родителя (С++)

Помогите хорошим советом .
Есть класс , нужно чтоб был синглетом и чтоб имел чисто
виртуальные функции.
Как поступить ?И на йух сесть и рыбку съесть (с) Русская народная.

Не охота синглетовское поведение реализовать в каждом потомке,
с другой стороны без виртуальных функций не обойтись , ну и класс
должен быть абстрактным , обязательно .
Какие мысли ?

kitov
()

Kaffeine чудит

Как отучить кафеина копировать видеофайлы
перед просмотром в /tmp ?
Если файл открывать в File/Open то всё нормально,
если тыкать в окошке конкверора - начинает копирование.

KDE 3.5.5
Kaffeine 0.8.3
Debian unstable

kitov
()

Как правильно наследовать от std::exception ?

Есть несколько классов исключений , чтоб не разводить
несколько "catch-ей" решил унаследовать их от std::exception
и перехватывать как ссылку на родителя .
Напр.

#include <exception>
#include <iostream>

class my_exception:public std::exception{
public:
my_exception(const char* str)throw():error_message(str){}
virtual ~my_exception()throw(){}
virtual const char* what()throw(){return error_message.c_str();}
private:
std::string error_message;
};


int main()
{
try{
throw my_exception("MY_EXCEPT");
}catch(std::exception& err){
std::cout<<err.what()<<std::endl;
return 0;
}
}


метод what() возвращает название класса , в моём случае
"12my_exception" независимо от error_message.
Какая сигнатура должна быть у what() ?
Заранее спасибо .

kitov
()

функция-шаблон с std::vector

Функция должна работать с вектором
содержащим элементы любого типа .
Напр.
template<typename T>
void printVector(const std::vector<T>& vec)
{
std::vector<T>::const_iterator it=vec.begin();
тут g++ ругается .
Как правильно ?
Спасибо .

kitov
()

QSqlDatabase в DLL

Есть некий код ( рабочий ) , который выдаёт некоторые значения
из базы данных (Paradox) , используется qodbc драйвер .
Всё это выглядит примерно так ( почти как в туторе асистента) ,
комп рабочий , с виндами ...
QSglDatabase db=QSqlDatabase::addDatabase("QODBC");
дальше setDatabaseName,setUserName и т.д.
Потом создаю запрос QSqlQuery("SELECT bla bla FROM bla bla WHERE и т.д");
Ну вообщем всё работает .
Создаю библиотеку ( qmake -t lib)
dll-ка мне нужна в LabVIEW .
Почему-то не выполняется соединение с базой , lastError ="Driver not loaded" ,
код рабочий , полдня убил , не могу найти причину , хотя думается мне , что это работает только в GUI-thread-e .
Помогите люди :-)

kitov
()

locale в debian

Как правильно установить локаль в дебиане ?
Мои действия .
dpkg-reconfigure locales , выбираю ru_RU.UTF-8 , всё нормально генерится.
Но вот что выдаёт на команду locale:
LANG=ru_RU.UTF-8
LANGUAGE=ru_DE:ru_RU:ru:en_GB:en
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

что это за фигня в language ?
Получаем косяки с кириллицей в консоле .
Пробовал console-cyrillic , но oн упорно выставляет KOI8-R , и раскладку в нём немецкую не поставишь...
Ставил через netinstall , если это имеет значение .

kitov
()

RSS подписка на новые темы