![]() |
Boost : |
Subject: Re: [boost] interprocess with unordered_map
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2012-03-15 18:53:46
El 15/03/2012 23:18, Olaf van der Spek escribió:
> 2012/3/15 Ion Gaztañaga<igaztanaga_at_[hidden]>:
>> El 15/03/2012 3:14, Joel Young escribió:
>>>
>>> Can the interprocess::basic_string be modified to allow these conversions?
>>>
>>> I hate having to do:
>>>
>>> key_val = "fruitcake";
>>> db.find(key_val);
>>
>>
>> interprocess::basic_string is now boost::container::basic_string, which
>> follows std::basic_string interface. And you always need an allocator to
>> place the string in shared memory. I don' think it could be implicitly
>> constructible from char* or std::string.
>
> But there's no (good) reason for the input to be required to be in
> shared memory.
A shared memory allocator is designed to allocate from a managed shared
memory segment. And this requires a base address of that shared memory
segment . And even with std::string you need to build a temporary string
to compare it with the ones stored in the container.
Do you have any proposal or alternative idea?
Ion
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk