当前位置: 首页>>代码示例>>C++>>正文


C++ forward_list::empty方法代码示例

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


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

示例1: operator

  inline int operator () (EArgs&&... args) // O(n)
  {
    if(slots.empty())
      return default_return_value;
    auto it = slots.cbegin(), end = slots.cend();
    auto prev = slots.cbefore_begin();
    while(it != end)
    {
      try
      {
        (it->second)(std::forward<EArgs>(args)...);
        prev = it;
        ++it;
      }
      catch(slot_remove)
      {
        it = slots.erase_after(prev);
      }
      catch(signal_return e)
      {
        return e.get();
      }
    }

    return default_return_value;
  }
开发者ID:ftk,项目名称:niceamx,代码行数:26,代码来源:signal.hpp

示例2: removeDupsNoBuffer

void removeDupsNoBuffer(std::forward_list<int>& l) {
    if (l.empty())
        return;
    auto backtrack = l.before_begin();
    while (std::next(backtrack) != l.end()) {
        // Iterate and print values of the list
        for (int n : l)
            std::cout << n << '\t';
        std::cout << std::endl;

        auto prev = std::next(backtrack);
        auto iter = std::next(prev);
        //std::cout << " prev =" << *prev << ", iter=" << *iter << std::endl;
        while (iter != l.end()) {
            if (*iter == *std::next(backtrack))
                iter = l.erase_after(prev);
            else {
                ++prev;
                ++iter;
            }
                
        }
        ++backtrack;
    }
}
开发者ID:YuryChebiryak,项目名称:CCI,代码行数:25,代码来源:main.cpp

示例3: foldr_dest

U foldr_dest(std::function< U (U, T)>& op, const U& val, std::forward_list<T>& L)
{
  if (L.empty()) return U(val);
  T h = L.front();
  L.pop_front();
  return op (foldr(op, val, L),  h);
}
开发者ID:fons,项目名称:presentations,代码行数:7,代码来源:fold.cpp

示例4: runDeferred

		bool runDeferred() {
			__EVENTEMITTER_LOCK_GUARD(mutex);
			if(deferredQueue.empty()) {
				return false;
			}
			(deferredQueue.front())();
			deferredQueue.pop_front();
			return true;
		}
开发者ID:Rush,项目名称:cpp-EventEmitter,代码行数:9,代码来源:EventEmitter.sane.hpp

示例5:

static ptid_t
fbsd_next_vfork_done (void)
{
  if (!fbsd_pending_vfork_done.empty ())
    {
      ptid_t ptid = fbsd_pending_vfork_done.front ();
      fbsd_pending_vfork_done.pop_front ();
      return ptid;
    }
  return null_ptid;
}
开发者ID:jon-turney,项目名称:binutils-gdb,代码行数:11,代码来源:fbsd-nat.c

示例6: write_files_activity

void middle_end_to_backend_workflow::write_files_activity(
    const std::forward_list<
        std::shared_ptr<dogen::formatters::file_writer_interface>
        >& writers,
    const std::forward_list<formatters::file>& files) const {

    if (files.empty()) {
        BOOST_LOG_SEV(lg, warn) << "No files were generated, so no output.";
        return;
    }

    for (const auto writer : writers)
        writer->write(files);
}
开发者ID:Niam99,项目名称:dogen,代码行数:14,代码来源:middle_end_to_backend_workflow.cpp

示例7: operator

 void operator()(clmdep_msgpack::object::with_zone& o, const std::forward_list<T, Alloc>& v) const {
     o.type = clmdep_msgpack::type::ARRAY;
     if(v.empty()) {
         o.via.array.ptr = nullptr;
         o.via.array.size = 0;
     } else {
         uint32_t size = checked_get_container_size(std::distance(v.begin(), v.end()));
         o.via.array.size = size;
         clmdep_msgpack::object* p = static_cast<clmdep_msgpack::object*>(
             o.zone.allocate_align(sizeof(clmdep_msgpack::object)*size));
         o.via.array.ptr = p;
         for(auto const& e : v) *p++ = clmdep_msgpack::object(e, o.zone);
     }
 }
开发者ID:rpclib,项目名称:rpclib,代码行数:14,代码来源:forward_list.hpp

示例8: rReverse

void rReverse(std::forward_list<int> &l){
	
	if(!l.empty()){
		 a = l.front();

		l.pop_front();  //Remove all elements until empty

		rReverse(l); 
	}else{

		l.push_front(a); //Insert elements from the function stack
		
	}
	
}
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:15,代码来源:reverseLL.cpp

示例9: addEventHandlers

void IEventsEx::addEventHandlers(std::forward_list<IEventSinkBase*> eventHandlers)
{
	if(eventHandlers.empty()) return;
	_eventHandlerMutex.lock();
	for(std::forward_list<IEventSinkBase*>::iterator i = eventHandlers.begin(); i != eventHandlers.end(); ++i)
	{
		bool exists = false;
		for(std::forward_list<IEventSinkBase*>::iterator j = _eventHandlers.begin(); j != _eventHandlers.end(); ++j)
		{
			if(*j == *i)
			{
				exists = true;
				break;
			}
		}
		if(exists) continue;
		_eventHandlers.push_front(*i);
	}
    _eventHandlerMutex.unlock();
}
开发者ID:marerh,项目名称:Homegear,代码行数:20,代码来源:IEvents.cpp

示例10: rReturn

//Using recursion
int rReturn(std::forward_list<int> l, int n){

    static int i = 0;

	if(i == n)
 	return l.front();

	if(!l.empty())
		
	{
	int a = l.front();
	
	l.pop_front();

	rReturn(l, n);
	
	l.push_front(a);

	i++;
	
     }
	
}
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:24,代码来源:Nnode.cpp

示例11: empty

 inline bool empty() const
 {
   return slots.empty();
 }
开发者ID:ftk,项目名称:niceamx,代码行数:4,代码来源:signal.hpp


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