Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在boost multi_index容器复合_键中,一个键的范围相等,另一个键的上下限相同_C++_Boost_Composite Key_Boost Multi Index - Fatal编程技术网

C++ 在boost multi_index容器复合_键中,一个键的范围相等,另一个键的上下限相同

C++ 在boost multi_index容器复合_键中,一个键的范围相等,另一个键的上下限相同,c++,boost,composite-key,boost-multi-index,C++,Boost,Composite Key,Boost Multi Index,假设我有以下几点: struct Person { std::string mName; Birthday mBirthday; }; using namespace boost::mult_index; typedef multi_index_container< Person, ordered_non_unique< composite_key< Person, member&

假设我有以下几点:

struct Person
{
    std::string mName;
    Birthday mBirthday;
};

using namespace boost::mult_index;
typedef multi_index_container<
    Person,
    ordered_non_unique<
        composite_key<
            Person,
            member<Person, std::string, &Person::mName>,
            member<Person, Birthday, &Person::mBirthday>
        > // composite_key
    >  // ordered_non-unique
> PersonContainer; // mult_index_container

PersonContainer personContainer;

...

std::pair<PersonContainer::iterator, PersonContainer::iterator> similarPeople
    = personContainer.equal_range(boost::make_tuple("Bob","01/15/65"));
struct-Person
{
std::字符串mName;
生日;
};
使用名称空间boost::mult_索引;
typedef多索引容器<
人,
有序非唯一<
复合键<
人,
委员:,
成员
>//复合密钥
>//有序_非唯一
>个人容器;//多索引容器
PersonContainer PersonContainer;
...
结对相似的人
=personContainer.equal_range(boost::make_tuple(“Bob”,“01/15/65”));
这将给我一个迭代器范围,其中每个迭代器都指向一个名为“Bob”的人,他出生于“01/15/65”

如果我想要一个迭代器范围,它为我提供了容器中名为“Bob”但出生于“01/01/65”和“01/31/65”之间的所有人,该怎么办?这在“Bob”上实际上是一个相等的_范围,但在生日上是一个上下限。这可能吗?如果是,请解释如何进行


谢谢

您想要的范围是[
下限(make\u tuple(“Bob”,“01/01/65”))
上限(make\u tuple(“Bob”,“01/31/65”)