The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Новая версия Louvre 1.2, библиотеки для разработки композитных серверов на базе Wayland "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Новая версия Louvre 1.2, библиотеки для разработки композитн..." +1 +/
Сообщение от n00by (ok), 17-Фев-24, 10:05 
Я не понял, где там экономится память. Цели заявлены - удобная работа с флагами. Вопрос, почему названо bitset. Ну, наверное, потому что автор из Чили, а 640 слов в Бейсик Инглиш хватит всем.

* Unlike `std::bitset`, LBitset functions are designed to modify and retrieve bit states using flags rather than indices, which are ideally
* defined within an enum.

template <class T>
class Louvre::LBitset
{
    using Flag = typename std::conditional<
        std::is_enum<T>::value,
        typename std::underlying_type<T>::type,
        T
        >::type;

...

private:
    Flag m_flags;
};

...

    enum ChangesToNotify : UInt16
    {
        NoChanges                   = 0,
        BufferSizeChanged           = 1 << 0,
        BufferScaleChanged          = 1 << 1,
        BufferTransformChanged      = 1 << 2,
        DamageRegionChanged         = 1 << 3,
        OpaqueRegionChanged         = 1 << 4,
        InputRegionChanged          = 1 << 5,
        SourceRectChanged           = 1 << 6,
        SizeChanged                 = 1 << 7,
        VSyncChanged                = 1 << 8
    };

    LBitset<ChangesToNotify> changesToNotify;

Вот это идёт первым членом в LPRIVATE_CLASS(LSurface) https://github.com/CuarzoSoftware/Louvre/blob/047a86659cc2a3...

Следом 32-х разрядный LBitset. Что бы экономить память, надо сортировать от большего к меньшему. В связи с чем возникают другие вопросы...

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Новая версия Louvre 1.2, библиотеки для разработки композитных серверов на базе Wayland , opennews, 15-Фев-24, 10:27  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру