19 std::lock_guard<std::recursive_mutex> lock(
getMutex());
24 const size_t holderSizeIndex = output.size();
27 holder->serialize(output);
29 output[holderSizeIndex] = output.size() - holderSizeIndex -1;
37 std::lock_guard<std::recursive_mutex> lock(
getMutex());
44 const size_t holderPayloadSize = *start;
50 std::vector<uint32_t>::const_iterator oneBlobIt = start;
53 if ( couldRead ==
false )
57 auto holder = std::make_shared<TypelessHolder>(clid,
label, sub);
61 std::cerr <<
"ERROR registering a holder" << std::endl;
64 std::advance(start, holderPayloadSize);
72 const unsigned int version=3;
73 output.push_back(version);
91 std::vector<uint32_t>::const_iterator inputIt = input.begin();
92 const unsigned int version = *inputIt++;
static unsigned int totalSize(const MultiDimArray< T, N > &ht)
static bool enquireSerialized(std::vector< uint32_t >::const_iterator &fromHere, const std::vector< uint32_t >::const_iterator &end, class_id_type &c, std::string &label, sub_index_type &subtypeIndex)
virtual bool serializeHolders(std::vector< uint32_t > &output) const
method serializes the helper objects allowing use of FeatureAccessHelpers w/o CLID This methods shoul...
virtual ~StandaloneNavigation()
virtual bool serialize(std::vector< uint32_t > &output) const
method serializes entire navigation
virtual bool deserialize(const std::vector< uint32_t > &input)
virtual bool deserializeHolders(std::vector< uint32_t >::const_iterator &start, const std::vector< uint32_t >::const_iterator &end)
std::vector< HolderType * > getAllHolders() const
bool registerHolder(const std::shared_ptr< BaseHolder > &holder)
bool serializeTEs(std::vector< uint32_t > &output) const
method serizlizes the navigation structure
bool deserializeTEs(std::vector< uint32_t >::const_iterator &start, unsigned int totalSize)
std::recursive_mutex & getMutex()
TrigHolderStructure & getHolderStorage()
std::string label(class_id_type clid, const index_or_label_type &sti_or_label) const