Зерновой макрос для вектора

ВСЕ.

В крупе есть макрос CEREAL_NVP, который подходит для карты/пары.

Есть ли какой-нибудь макрос, подходящий для std::vector?

У меня есть:

private:
    std::vector <MyObjectId> RecordVector;
    template <class Archive>
    void serialize( Archive &ar )
    {
        ar( CEREAL_NVP( RecordVector ) );
    }

и я все еще получил ошибку:

/home/ikorot/work/TPW/External/cereal/include/cereal/cereal.hpp:954:9: error: static assertion failed: cereal could not find any input serialization functions for the provided type and archive combination. 

 Types must either have a serialize function, load/save pair, or load_minimal/save_minimal pair (you may not mix these). 
 Serialize functions generally have the following signature: 

 template<class Archive> 
   void serialize(Archive & ar) 
   { 
     ar( member1, member2, member3 ); 
   } 

 
         static_assert(traits::detail::count_input_serializers<T, ArchiveType>::value != 0,
         ^

И я включил хлопья/типы/vector.hpp.

ТИА!


person Igor    schedule 01.09.2020    source источник


Ответы (1)


Вам нужно сделать функцию сериализации общедоступной или использовать дружественный класс хлопья::access, чтобы сделать ее доступной для хлопьев.

person Deepanshu Lulla    schedule 02.03.2021