• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ std::initializer_list类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中std::initializer_list的典型用法代码示例。如果您正苦于以下问题:C++ initializer_list类的具体用法?C++ initializer_list怎么用?C++ initializer_list使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了initializer_list类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: any_of

 bool any_of(const std::string& key, std::initializer_list<T> list) const {
     std::unordered_map<std::string, double>::const_iterator it = _opt.find(key);
     return (it != _opt.cend() && std::any_of(list.begin(), list.end(), [&](const T& t) { return t == static_cast<T>(it->second); }));
 }
开发者ID:gdolle,项目名称:hpddm,代码行数:4,代码来源:option.hpp


示例2:

AppInitializer::AppInitializer(std::initializer_list<int> subsystem_flags) {
	for (auto it = subsystem_flags.begin(); it != subsystem_flags.end(); it++) {
		initializeSystem(*it);
	}
}
开发者ID:heathercreech,项目名称:PluSDL,代码行数:5,代码来源:PluSDL.cpp


示例3: index

 //! Requires: il.size() == Rank.
 //! Effects: For all i in the range [0, Rank), initializes the ith
 //! component of *this with *(il.begin() + i).
 index(std::initializer_list<value_type> const& il)
 {
     HPX_ASSERT(il.size() == std::size_t(rank) &&
         "il.size() must be equal to Rank");
     std::copy(il.begin(), il.end(), vs_ + 0);
 }
开发者ID:jupp0r,项目名称:hpx,代码行数:9,代码来源:coordinate.hpp


示例4: vec3

			vec3(std::initializer_list<float> ilist) { auto* p = ilist.begin();  x = *p++; y = *p++; z = *p++; }
开发者ID:CypherSignal,项目名称:EASTL,代码行数:1,代码来源:TestOptional.cpp


示例5: in

 bool in(const std::initializer_list<T1>& s, const T2& x) {
     return std::find(s.begin(), s.end(), x) != s.end();
 }
开发者ID:ddolzhenko,项目名称:limo,代码行数:3,代码来源:test.hpp


示例6: binary

 binary(std::initializer_list<uint8_t> bytes, const Alloc& alloc = Alloc())
     : binary(reinterpret_cast<const char*>(bytes.begin()), bytes.size(), alloc) {}
开发者ID:saleyn,项目名称:eixx,代码行数:2,代码来源:binary.hpp


示例7: init

 void init(const std::initializer_list<int>& il) {
   vect.resize(il.size());
   std::move_backward(il.begin(), il.end(), vect.end());
 }
开发者ID:vpetrigo,项目名称:mailru-courses,代码行数:4,代码来源:w2_task2.cpp


示例8: setValues

void KeyMultiValueTagFilter::setValues(std::initializer_list<std::string> l)
{
	setValues(l.begin(), l.end());
}
开发者ID:inphos42,项目名称:osmpbf,代码行数:4,代码来源:filter.cpp


示例9:

//MultiKeyTagFilter
MultiKeyTagFilter::MultiKeyTagFilter(std::initializer_list< std::string > l) :
m_KeySet(l.begin(), l.end())
{}
开发者ID:inphos42,项目名称:osmpbf,代码行数:4,代码来源:filter.cpp


示例10: pointer_vector

 pointer_vector(std::initializer_list<T> list) : pool(0), poolsize(0), objectsize(0) {
   for(const T *p = list.begin(); p != list.end(); ++p) append(*p);
 }
开发者ID:Arnethegreat,项目名称:bsnes-plus,代码行数:3,代码来源:vector.hpp


示例11: comb

	/*! \brief Constructor from a list of numbers
	 *
	 * \param c list of numbers
	 *
	 */
	comb(std::initializer_list<char> c)
	{
		size_t i = 0;
	    for(char x : c)
	    {this->c[c.size() - i - 1] = x;i++;}
	}
开发者ID:incardon,项目名称:openfpm_data,代码行数:11,代码来源:comb.hpp


示例12:

LinkedList<T>::LinkedList(std::initializer_list<T> elements)
{
	head->data = elements.begin()[0];
}
开发者ID:pm990320,项目名称:project-euler-cpp,代码行数:4,代码来源:LinkedList.cpp


示例13: spawn_in_groups

 infer_handle_from_class_t<T>
 spawn_in_groups(std::initializer_list<group> gs, Ts&&... xs) {
   actor_config cfg;
   return spawn_class_in_groups<T, Os>(cfg, gs.begin(), gs.end(),
                                       std::forward<Ts>(xs)...);
 }
开发者ID:crudbug,项目名称:actor-framework,代码行数:6,代码来源:actor_system.hpp


示例14: addValues

void MultiKeyTagFilter::addValues(std::initializer_list<std::string> l)
{
	addValues(l.begin(), l.end());
}
开发者ID:inphos42,项目名称:osmpbf,代码行数:4,代码来源:filter.cpp


示例15:

VertexDescription::VertexDescription(std::initializer_list<VertexDescriptionElement> elements) {
  m_elements.resize(elements.size());
  std::copy(elements.begin(), elements.end(), m_elements.begin());
}
开发者ID:aplars,项目名称:spiral,代码行数:4,代码来源:vertexdescription.cpp


示例16: VectorBase

 /// constructor using initializer list
 VectorBase(std::initializer_list<value_type> l) 
   : super(l.size())
 {
   std::copy(l.begin(), l.end(), _elements);
 }
开发者ID:spraetor,项目名称:tiny-la,代码行数:6,代码来源:Vector.hpp


示例17: local

					local(std::initializer_list<int> ilist)
					{
						payload1 = ilist.begin()[0];
						payload2 = ilist.begin()[1];
					}
开发者ID:CypherSignal,项目名称:EASTL,代码行数:5,代码来源:TestOptional.cpp


示例18:

node::node( op_id o, const dimensions &d, std::initializer_list<node_id> inputs, any val, hash::value hv )
	: _hash( std::move( hv ) ), _dims( d ), _value( std::move( val ) ), _op_id( o )
{
	resize_edges( static_cast<uint32_t>( inputs.size() ), 0 );
	std::copy( inputs.begin(), inputs.end(), _edges );
}
开发者ID:kdt3rd,项目名称:gecko,代码行数:6,代码来源:node.cpp


示例19: strict_lock

 strict_lock(std::initializer_list<thread_detail::lockable_wrapper<Lockable> > l_) :
   mtx_(*(const_cast<thread_detail::lockable_wrapper<Lockable>*>(l_.begin())->m))
 {
   mtx_.lock();
 }
开发者ID:ALuehmann,项目名称:labstreaminglayer,代码行数:5,代码来源:strict_lock.hpp


示例20: request

	Response BaseDiscordClient::request(const RequestMethod method, Route path, const std::string jsonParameters/*,
		cpr::Parameters httpParameters*/, const std::initializer_list<Part>& multipartParameters) {
		//check if rate limited
		Response response;
		const time_t currentTime = getEpochTimeMillisecond();
		if (isGlobalRateLimited) {
			if (nextRetry <= currentTime) {
				isGlobalRateLimited = false;
			} else {
				onExceededRateLimit(isGlobalRateLimited, nextRetry - currentTime, { *this, method, path, jsonParameters, multipartParameters });
				response.statusCode = TOO_MANY_REQUESTS;
				setError(response.statusCode);
				return response;
			}
		}
		const std::string bucket = path.bucket(method);
		auto bucketResetTimestamp = buckets.find(bucket);
		if (bucketResetTimestamp != buckets.end()) {
			if (bucketResetTimestamp->second <= currentTime) {
				buckets.erase(bucketResetTimestamp);
			} else {
				onExceededRateLimit(false, bucketResetTimestamp->second - currentTime, { *this, method, path, jsonParameters, multipartParameters });
				response.statusCode = TOO_MANY_REQUESTS;
				setError(response.statusCode);
				return response;
			}
		}
		{	//the { is used so that onResponse is called after session is removed to make debugging performance issues easier
			//request starts here
			Session session;
			session.setUrl("https://discordapp.com/api/v6/" + path.url());
			std::vector<HeaderPair> header = {
				{ "Authorization", bot ? "Bot " + getToken() : getToken() },
				{ "User-Agent", "DiscordBot (https://github.com/yourWaifu/SleepyDiscord, vtheBestVersion)" },
			};
			if (jsonParameters != "") {
				session.setBody(&jsonParameters);
				header.push_back({ "Content-Type"  , "application/json"                      });
				header.push_back({ "Content-Length", std::to_string(jsonParameters.length()) });
			//} else if (httpParameters.content != "") {	//this is broken for now
			//	session.SetParameters(httpParameters);
			} else if (0 < multipartParameters.size()) {
				session.setMultipart(multipartParameters);
				header.push_back({ "Content-Type", "multipart/form-data" });
			} else {
				header.push_back({ "Content-Length", "0" });
			}
			session.setHeader(header);
			//Response response;
			switch (method) {
			case Post:   response = session.Post();   break;
			case Patch:  response = session.Patch();  break;
			case Delete: response = session.Delete(); break;
			case Get:    response = session.Get();    break;
			case Put:    response = session.Put();    break;
			default:     response.statusCode = BAD_REQUEST; break; //unexpected method
			}
			//status checking
			switch (response.statusCode) {
			case OK: case CREATED: case NO_CONTENT: case NOT_MODIFIED: break;
			case TOO_MANY_REQUESTS: {   //this should fall down to default
				int retryAfter = std::stoi(response.header["Retry-After"]);
				isGlobalRateLimited = response.header["X-RateLimit-Global"] == "true";
				nextRetry = getEpochTimeMillisecond() + retryAfter;
				if (!isGlobalRateLimited)
					buckets[bucket] = nextRetry;
				onExceededRateLimit(isGlobalRateLimited, retryAfter, { *this, method, path, jsonParameters, multipartParameters });
			}
			default:
			{		//error
				const ErrorCode code = static_cast<ErrorCode>(response.statusCode);
				setError(code);		//https error
				std::vector<std::string> values = json::getValues(response.text.c_str(),
				{ "code", "message" });	//parse json to get code and message
				if (!values.empty() && values[0] != "")
					onError(static_cast<ErrorCode>(std::stoi(values[0])), values[1]);	//send message to the error event
				else
					onError(ERROR_NOTE, response.text);
#if defined(__cpp_exceptions) || defined(__EXCEPTIONS)
				throw code;
#endif
			} break;
			}
			//rate limit check
			if (response.header["X-RateLimit-Remaining"] == "0" && response.statusCode != TOO_MANY_REQUESTS) {
				std::tm date = {};
				//for some reason std::get_time requires gcc 5
				std::istringstream dateStream(response.header["Date"]);
				dateStream >> std::get_time(&date, "%a, %d %b %Y %H:%M:%S GMT");
				const time_t reset = std::stoi(response.header["X-RateLimit-Reset"]);
#if defined(_WIN32) || defined(_WIN64)
				std::tm gmTM;
				std::tm*const resetGM = &gmTM;
				gmtime_s(resetGM, &reset);
#else
				std::tm* resetGM = std::gmtime(&reset);
#endif
				const time_t resetDelta = (std::mktime(resetGM) - std::mktime(&date)) * 1000;
				buckets[bucket] = resetDelta + getEpochTimeMillisecond();
				onDepletedRequestSupply(resetDelta, { *this, method, path, jsonParameters, multipartParameters });
//.........这里部分代码省略.........
开发者ID:NoNamer64,项目名称:sleepy-discord,代码行数:101,代码来源:client.cpp



注:本文中的std::initializer_list类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ std::ios类代码示例发布时间:2022-05-31
下一篇:
C++ std::ifstream类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap