From: Qinfan Wu Date: Tue, 4 Oct 2016 20:58:10 +0000 (-0700) Subject: Implicit construct sorted_vector_set from std::initializer_list X-Git-Tag: v2016.10.10.00~17 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=06767a9baba5f24d42884a564c4214dad6d03253;p=folly.git Implicit construct sorted_vector_set from std::initializer_list Summary: The following thrift file doesn't work: typedef set (cpp.template = "folly::sorted_vector_set") IntSet struct Test { 1: map m = {7: [1, 2]}, } The generated file looks like this: Test() : m(std::initializer_list< std::pair>>{ {7, std::initializer_list{1, 2}}}) {} Given that `std::set` allows implicit construction from `std::initializer_list`, it's probably okay to make `folly::sorted_vector_set` the same. Reviewed By: ot Differential Revision: D3968054 fbshipit-source-id: 978d59a7e545e44d603eeb9671815ac7f2c57342 --- diff --git a/folly/sorted_vector_types.h b/folly/sorted_vector_types.h index d6038869..6809dde7 100644 --- a/folly/sorted_vector_types.h +++ b/folly/sorted_vector_types.h @@ -216,7 +216,7 @@ public: insert(first, last); } - explicit sorted_vector_set( + /* implicit */ sorted_vector_set( std::initializer_list list, const Compare& comp = Compare(), const Allocator& alloc = Allocator())